Oracle APEX中的标准报告列

时间:2015-01-12 14:07:42

标签: oracle-apex

标准报告列与设置为显示为文本(转义特殊字符)的列之间有什么区别??如何确保标准报告列中显示的数据是安全的?

1 个答案:

答案 0 :(得分:2)

标准报告列不会转义特殊字符。因此,如果列中包含的数据包含<script>alert('hello');</script>之类的HTML,那么标准报告列将导致浏览器警报显示为&#34; hello&#34;,而显示为文本列只会显示文本<script>alert('hello');</script>

当您需要列来呈现某些HTML(而不是将其显示为文本)时,您应该只使用标准报告列 - 例如,在报告中显示图像或输入在这些情况下,您需要确保您可以控制该列中显示的数据 - 您通常会这样做。如果列中显示的任何数据由用户输入数据库,则需要确保它不包含任何特殊内容 - 例如使用htf.escape()功能使其安全。