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。

所以使用它你自己的風險...