2011-10-14 60 views
0

我目前使用的CodeIgniter框架,並期待通過使用HTMLPurifier(http://htmlpurifier.org/)加強XSS保護。xss保護和html淨化器

我的理解是否正確,希望'清理'後的數據,以便在將其純化之前將其插入到數據庫中?或者在顯示視圖之前運行它?

如果是這樣,我想在發生的每一個帖子上運行HTMLPurifier嗎?由於該應用程序包含很多表單,我不願意有選擇地選擇被清理的內容以及什麼沒有 - 假設我可以攔截所有帖子,這是否是要走的路?當然,無論如何,我會驗證一些字段(如電子郵件地址,數字等)

回答

0

使用$this->input->post()可獲得$_POST數據。如果全局xss過濾器設置爲true,Codeigniter會自動對其進行過濾。

請參閱該文檔:http://codeigniter.com/user_guide/libraries/input.html


編輯:澄清

是的,你應該插入到數據庫之前篩選和是你應該過濾所有的用戶輸入。

快速谷歌搜索,http://www.google.com/search?q=codeigniter+htmlpurifier,導致到這個網頁:http://codeigniter.com/wiki/htmlpurifier這是htmlpurifier的幫手。關於捕獲所有$ _POST數據:你必須對數據做些什麼,對吧?在你的模型,當你做的東西,才使這一進程的分離純化()部分:

$postdata = purify($_POST); 
+0

也期待在爲更深入的解釋:http://codeigniter.com/user_guide/libraries/security .html – Ben

+0

CI的XSS過濾雖然不錯,但還不夠。 HTMLPurfier被認爲更強大和更安全。 – JonoB

+0

好吧。我更新了我的答案。 – stormdrain