2015-01-12 68 views

回答

2

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

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

+0

谢谢托尼安德鲁斯..为您宝贵的时间。 – Amol