首頁  >  文章  >  php框架  >  thinkphp中防止xss攻擊的方法

thinkphp中防止xss攻擊的方法

藏色散人
藏色散人原創
2019-07-03 13:39:118938瀏覽

thinkphp中防止xss攻擊的方法

● 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

thinkphp中防止xss攻擊的方法

#建立一個函數

thinkphp中防止xss攻擊的方法

##然後修改設定檔config.php讓I函數使用這個函數來過濾:

thinkphp中防止xss攻擊的方法

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

 

網站就很安全了!

本文來自ThinkPHP框架技術文章欄:

http://www.php.cn/phpkj/thinkphp/#

以上是thinkphp中防止xss攻擊的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn