XSS(跨站腳本攻擊)兩種形式:輸入JS代碼或者HTML代碼導(dǎo)致頁面亂。
XSS(跨站腳本攻擊)可以用于竊取其他用戶的Cookie信息,要避免此類問題,可以采用如下解決方案:
直接過濾所有的JavaScript腳本;
轉(zhuǎn)義Html元字符,使用htmlentities、htmlspecialchars等函數(shù);
系統(tǒng)的擴(kuò)展函數(shù)庫提供了XSS安全過濾的remove_xss方法;
新版對(duì)URL訪問的一些系統(tǒng)變量已經(jīng)做了XSS處理。
用戶提交的表單信息時(shí)候,該表單里邊有可能存在相關(guān)的“代碼”(html/css/js等代碼),這樣代碼會(huì)在信息顯示的時(shí)候?qū)撁嫘Ч斐筛蓴_。
1、下載htmlpurifier,解壓后將library文件夾放到ThinkPhp的插件文件夾并在分組的common文件夾中創(chuàng)建function.php
2、在function,php中創(chuàng)建防止xss攻擊方法
3.我們可以將從post中得到的數(shù)據(jù)先通過hThinkphp系統(tǒng)自帶的I()方法來進(jìn)行數(shù)據(jù)過濾然后在通過調(diào)用函數(shù)fanXSS進(jìn)行過濾即可
舉以下的例子:
在thinphp開發(fā)后臺(tái)過程中需要添加編輯器,要讓編輯器正常顯示就要設(shè)置I函數(shù)不過濾。
現(xiàn)在的問題來了,如果不過濾就會(huì)被XSS攻擊如果過濾在線編輯器就不好使了,解決的辦法應(yīng)該是有選擇性的過濾,
我們可以一個(gè)開源的過濾的包:htmlpurifier包。
把下載的包解壓到跟目錄改名為HTMLpurifier
創(chuàng)建一個(gè)函數(shù)
然后修改配置文件config.php讓I函數(shù)使用這個(gè)函數(shù)來過濾:
現(xiàn)在網(wǎng)站中I函數(shù)過濾時(shí)使用的就是我們寫的這個(gè)函數(shù):有選擇性的過濾只過濾危險(xiǎn)代碼。
網(wǎng)站就很安全了!