我對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