
已解决问题
谷歌a1107123692用户在2016.04.26提交了关于“秘密花园php预防XSS攻击,ajax跨域攻击的方法”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2025-02-27T00:02:14。希望大家能够帮助她。详细问题描述及疑问:期待您的答案,你是我的宝贝,你是我的花,谢谢你对我的帮助!
详细问题描述及疑问:期待您的答案,你是我的宝贝,你是我的花,谢谢你对我的帮助!
对网站发动XSS攻击的方式有很多种,仅仅使用php的一些内置过滤函数是对付不了
现在有很多php开发框架都提供关于防XSS攻击的过滤方法,下面和大家分
fun
//Fix&entityn;
$data
$data=html_entity_decode($data,ENT_COMPAT,
//Removeany
$data=preg_replace('
//Removej**ascript:andvbscript
$data=preg_replace('#([a-z]*)[x00-x20]*=(['"]*)[x00-x20]*-moz-binding[x00-x20]*:#u','$1=$2nomozbinding',$data);
//OnlyworksinIE:
$data=preg_replace('#(<[^>]+?)style[x00-x20]*=[x00-x20]*[`'"]*.*?expression[x00-x20]*([^>]*+>#i','$1>',$data);
$data=preg_replace('#(<[^>]+?)style[x00-x20]*=[x00-x20]*[`'"]*.*?beh**iour[x00-x20]*([^>]*+>#i','$1>',$data);
$data=preg_replace('#(<[^>]+?)style[x00-x20]*=[x00-x20]*[`'"]*.*?s[x00-x20]*c[x00-x20]*r[x00-x20]*i[x00-x20]*p[x00-x20]*t[x00-x20]*:*[^>]*+>#iu','$1>',$data);
//Removenamespacedelements(wedonotneedthem)
$data=preg_replace('#]*+>#i','',$data);
//http://www.***.com/
do{//Removereallyunwantedtags
$old_data=$data;
$data=preg_replace('#]*+>#i','',$data);
}while($old_data!==$data);
//wearedone
return$data;
}