1
标准报告列与设置为显示为文本(转义特殊字符)之间的区别是什么?如何确保标准报告列中显示的数据安全?Oracle APEX中的标准报告列
标准报告列与设置为显示为文本(转义特殊字符)之间的区别是什么?如何确保标准报告列中显示的数据安全?Oracle APEX中的标准报告列
标准报告列不会转义特殊字符。因此,如果您在包含HTML的列中包含数据(如<script>alert('hello');</script>
),那么标准报告列会导致浏览器警报显示“hello”,而显示为文本列只会显示文本<script>alert('hello');</script>
。
当您需要需要列时,您应该只使用s标准报告列来呈现某些HTML(而不是将其显示为文本) - 例如,在报告中显示图像或输入字段等。这些情况下,您需要确保您能够控制该列中显示的数据 - 您通常会这样做。如果列中出现的任何数据被用户输入到数据库中,那么你需要确保它没有包含任何特殊的内容 - 例如,使用htf.escape()
函数使其安全。
谢谢托尼安德鲁斯..为您宝贵的时间。 – Amol