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