我对Zend中使用的StripTags过滤器有点困惑。我认为这是为了去掉可能导致XSS的标签。那么这是不是应该在视图中输出数据时使用它?我已经看到它被用表单输入关于StripTags过滤器的困惑
->addFilter('StripTags')
是否将其在视图中与所述形式的输入和输出用使用,或者它通过滤波数据甚至进入数据库(工作之前,其中情况下,这不会是一个好主意)。
我对Zend中使用的StripTags过滤器有点困惑。我认为这是为了去掉可能导致XSS的标签。那么这是不是应该在视图中输出数据时使用它?我已经看到它被用表单输入关于StripTags过滤器的困惑
->addFilter('StripTags')
是否将其在视图中与所述形式的输入和输出用使用,或者它通过滤波数据甚至进入数据库(工作之前,其中情况下,这不会是一个好主意)。
与其说您是问题的直接答案,还有更多的替代方法。
在博客文章"HTML Sanitisation: The Devil's In The Details (And The Vulnerabilities)"中,Padraic Brady讨论了HTML卫生和用于执行此操作的各种组件。他表达了对使用StripTags过滤器达到此目的的重大担忧。
HTMLPurifier似乎是一个更好的选择。不会发生
StripTags与视图中的输出一起使用。 请注意,在可编辑字段中显示文本(如textarea)实际上仍然是“视图中的输出”。 数据在进入数据库之前不应进行预处理/转换。
带状标签滤波器,除非按ZF2非官方文档显式调用通过
$stripedValue = $form->getValue('fieldName');
:
https://zf2.readthedocs.org/en/latest/modules/zend.filter.set.html#striptags
的Zend \筛选\ StripTags是潜在不安全
要警告Zend \ Filter \ StripTags应该只用于去除所有可用的标签。
使用Zend \ Filter \ StripTags通过剥离一些不需要的标签来保护您的网站将会导致不安全和危险的代码。
Zend \ Filter \ StripTags不得用于防止XSS攻击。此过滤器不能替代使用Tidy或HtmlPurifier。
所以使用它你自己的风险...
也许你应该问“这到底是什么xss?” – rook 2010-10-11 07:12:45
@Rook,我知道XSS的含义与我的问题一样清楚。 – jblue 2010-10-11 07:38:24
那么你应该能够回答你自己的问题。 – rook 2010-10-11 18:06:42