1

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

->addFilter('StripTags') 

是否将其在视图中与所述形式的输入和输出用使用,或者它通过滤波数据甚至进入数据库(工作之前,其中情况下,这不会是一个好主意)。

+2

也许你应该问“这到底是什么xss?” – rook 2010-10-11 07:12:45

+0

@Rook,我知道XSS的含义与我的问题一样清楚。 – jblue 2010-10-11 07:38:24

+0

那么你应该能够回答你自己的问题。 – rook 2010-10-11 18:06:42

回答

2

与其说您是问题的直接答案,还有更多的替代方法。

在博客文章"HTML Sanitisation: The Devil's In The Details (And The Vulnerabilities)"中,Padraic Brady讨论了HTML卫生和用于执行此操作的各种组件。他表达了对使用StripTags过滤器达到此目的的重大担忧。

HTMLPurifier似乎是一个更好的选择。不会发生

+0

不错的发现。 Padraic总是提供好东西。我确实同意HTMLPurifier是zend之外最好的,所以我希望他提到的这个提案能够贯穿到zend 2,因为我有一种感觉stripTags在底下有一个有缺陷的实现..虽然这个问题本身仍然可以回答。 – jblue 2010-10-11 12:50:27

+0

好吧,这仍然是一个有效的问题,我有点回避。谢谢你没有带我去完成任务。对于我所认为的是你的赞扬。;-) – 2010-10-11 13:11:31

+0

有帮助的答案应得的upvote男人,这是一个小小的谢谢你的帮助打扰。 – jblue 2010-10-11 13:58:18

0

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

0

带状标签滤波器,除非按ZF2非官方文档显式调用通过

$stripedValue = $form->getValue('fieldName'); 
0

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。

所以使用它你自己的风险...