什么是XSS跨站攻击?
例如在某个链接有GET的情况下如index.php?name=<script>alert(111);</script>。页面加载会出现警告框
避免如类问题,主要是html和js去标签化。然后在接收数据的时候,进行去标签。
1、创建一个PHP文件如clean_xss.php,代码如下
function clean_xss(&$string, $low = False){
if (! is_array ( $string )) {
$string = trim ( $string );
$string = strip_tags ( $string );
$string = htmlspecialchars ( $string );
if ($low){
return $string;
}
$string = str_replace ( array ('"', "\\", "'", "/", "..", "../", "./", "//" ), '', $string );
$no = '/%0[0-8bcef]/';
$string = preg_replace ( $no, '', $string );
$no = '/%1[0-9a-f]/';
$string = preg_replace ( $no, '', $string );
$no = '/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]+/S';
$string = preg_replace ( $no, '', $string );
return $string;
}
$keys = array_keys ( $string );
foreach ( $keys as $key ){
clean_xss ( $string [$key] );
}
}
php.ini 添加auto_prepend_file = “E:\wamp\www\*****\ clean_xss .php”
在处理POST、GET的时候,clean_xxs($_POST)。完成