1

我对 Zend 中使用的 StripTags 过滤器有点困惑。我认为这是为了去除可能导致 XSS 的标签。那么这不应该意味着在视图中输出数据时应该使用它吗?我已经看到它与表单输入一起使用

->addFilter('StripTags')

它应该与表单中的输入和视图中的输出一起使用,还是通过在数据进入数据库之前过滤数据来工作(在这种情况下,这不是一个好主意)。

4

4 回答 4

2

与其说是对您的问题的直接回答,不如说是一种替代方法。

在博客文章“HTML 清理:细节中的魔鬼(和漏洞)”中,Padraic Brady 讨论了 HTML 清理和执行它的各种组件。他对为此目的使用 StripTags 过滤器表示严重关切。

HTMLPurifier似乎是一个更好的选择。

于 2010-10-11T12:05:53.737 回答
0

StripTags 与视图中的输出一起使用。请注意,在可编辑字段(例如 textarea)中显示文本实际上仍然是“视图中的输出”。数据在进入数据库之前不应进行预处理/转换。

于 2010-10-11T08:55:14.357 回答
0

除非您明确调用它,否则不会出现条形标签过滤器

$stripedValue = $form->getValue('fieldName');
于 2010-10-14T19:01:24.513 回答
0

根据 ZF2 非官方文档:

https://zf2.readthedocs.org/en/latest/modules/zend.filter.set.html#striptags

Zend\Filter\StripTags 可能不安全

请注意 Zend\Filter\StripTags 应该只用于去除所有可用的标签。

使用 Zend\Filter\StripTags 通过剥离一些不需要的标签来使您的站点安全会导致不安全和危险的代码。

Zend\Filter\StripTags 不能用于防止 XSS 攻击。此过滤器不能替代使用 Tidy 或 HtmlPurifier。

所以使用它需要您自担风险...

于 2013-12-01T15:44:14.097 回答