● XSS(跨站腳本攻擊)兩種形式:輸入JS程式碼或HTML程式碼導致頁面亂。
● XSS(跨站腳本攻擊)可以用於竊取其他使用者的Cookie訊息,要避免此類問題,可以採用以下解決方案:
直接過濾所有的JavaScript腳本;
轉義Html元字符,使用htmlentities、htmlspecialchars等函數;
系統的擴充函數庫提供了XSS安全過濾的remove_xss方法;
#新版對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
#建立一個函數
##然後修改設定檔config.php讓I函數使用這個函數來過濾: #現在網站中I函數過濾時使用的就是我們寫的這個函數:有選擇性的過濾只過濾危險代碼。 網站就很安全了! 本文來自ThinkPHP框架技術文章欄:http://www.php.cn/phpkj/thinkphp/#
以上是thinkphp中防止xss攻擊的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!