thinkphp中防止xss攻擊的方法

thinkphp中防止xss攻擊的方法

xss(跨站腳本攻擊)兩種形式:輸入JS代碼或者html代碼導致頁面亂。

●?XSS(跨站腳本攻擊)可以用于竊取其他用戶的Cookie信息,要避免此類問題,可以采用如下解決方案:

直接過濾所有的JavaScript腳本;

轉義Html元字符,使用htmlentities、htmlspecialchars等函數;

系統的擴展函數庫提供了XSS安全過濾的remove_xss方法;

立即學習PHP免費學習筆記(深入)”;

新版對URL訪問的一些系統變量已經做了XSS處理。

用戶提交的表單信息時候,該表單里邊有可能存在相關的“代碼”(html/css/js等代碼),這樣代碼會在信息顯示的時候對頁面效果造成干擾。

1、下載htmlpurifier,解壓后將library文件夾放到Thinkphp的插件文件夾并在分組的common文件夾中創建function.php

2、在function,php中創建防止xss攻擊方法

3.我們可以將從post中得到的數據先通過hthinkphp系統自帶的I()方法來進行數據過濾然后在通過調用函數fanXSS進行過濾即可

舉以下的例子:

在thinphp開發后臺過程中需要添加編輯器,要讓編輯器正常顯示就要設置I函數不過濾。

現在的問題來了,如果不過濾就會被XSS攻擊如果過濾在線編輯器就不好使了,解決的辦法應該是有選擇性的過濾,

我們可以一個開源的過濾的包:htmlpurifier包。

把下載的包解壓到跟目錄改名為HTMLpurifier

thinkphp中防止xss攻擊的方法

創建一個函數

thinkphp中防止xss攻擊的方法

然后修改配置文件config.php讓I函數使用這個函數來過濾:

thinkphp中防止xss攻擊的方法

現在網站中I函數過濾時使用的就是我們寫的這個函數:有選擇性的過濾只過濾危險代碼。

?

網站就很安全了!

本文來自ThinkPHP框架技術文章欄目:http://www.php.cn/phpkj/thinkphp/

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享