2012-10-22 77 views
0

現在全局xss保護設置爲TRUE。但毒藥輸入將顯示爲[刪除]的字面意思,所以我需要知道輸入是否有毒,如果它是毒藥,我會放棄它。如何確定輸入已經被CodeIgniter xss protection過濾

我可以簡單地使用函數strstr來做到這一點,如果字符串中有[刪除],那麼它是毒藥。

但是如果CodeIgniter已經提供了,它不會更好。

回答

1

試試這個:

word_censor(); 

文本助手

$disallowed = array('darn', 'shucks', 'golly', 'phooey'); 

$string = word_censor($string, $disallowed, 'Beep!'); 

使您可以將文本字符串中審查的話。第一個參數將包含原始字符串。第二個將包含你不允許的單詞數組。第三個(可選)參數可以包含單詞的替換值。如果未指定,則用磅符號代替它們:####。例如:

+0

這是我發現的唯一的東西,看起來好像沒有其他選項,不幸的是 –

+0

是的,我一直在試圖找到一些東西。如果global_xss_filtering設置爲true,CI將過濾來自用戶輸入的任何內容,但似乎CI無法分辨是否過濾了特​​定的輸入。謝謝pal – castiel

+0

設置關閉xss過濾,並使用$ this-> input-> post('name');如果它有一些xss只是重定向回來,或者你可以使用$ this-> input-> post('name',true); –