|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
另外要叮嘱各位的是,抵御诱惑,ASP/PHP/JSP/.NET的对比也许会让你无所适从,你也许学了一半PHP,又开始打C#的主意,或者有人说JAVA很强,这个时候的你绝对不能动摇,哪怕你真想学。对网站动员XSS打击的体例有良多种,仅仅利用php的一些内置过滤函数是凑合不了的,即便你将filter_var,mysql_real_escape_string,htmlentities,htmlspecialchars,strip_tags这些函数都利用上了也纷歧定能包管相对的平安。
如今有良多php开辟框架都供应关于防XSS打击的过滤办法,上面和人人分享一个防备XSS打击和ajax跨域打击的函数,摘自某开辟框架,比拟于仅仅利用内置函数应当仍是够强了的吧。- functionxss_clean($data){//Fix&entity
- ;$data=str_replace(array(&,<,>),array(&,<,>),$data);$data=preg_replace(/(&#*w+)[x00-x20]+;/u,$1;,$data);$data=preg_replace(/(&#x*[0-9A-F]+);*/iu,$1;,$data);$data=html_entity_decode($data,ENT_COMPAT,UTF-8);//Removeanyattributestartingwith"on"orxmlns$data=preg_replace(#(<[^>]+?[x00-x20"])(?:onxmlns)[^>]*+>#iu,$1>,$data);//Removejavascript:andvbscript:protocols$data=preg_replace(#([a-z]*)[x00-x20]*=[x00-x20]*([`"]*)[x00-x20]*j[x00-x20]*a[x00-x20]*v[x00-x20]*a[x00-x20]*s[x00-x20]*c[x00-x20]*r[x00-x20]*i[x00-x20]*p[x00-x20]*t[x00-x20]*:#iu,$1=$2nojavascript...,$data);$data=preg_replace(#([a-z]*)[x00-x20]*=(["]*)[x00-x20]*v[x00-x20]*b[x00-x20]*s[x00-x20]*c[x00-x20]*r[x00-x20]*i[x00-x20]*p[x00-x20]*t[x00-x20]*:#iu,$1=$2novbscript...,$data);$data=preg_replace(#([a-z]*)[x00-x20]*=(["]*)[x00-x20]*-moz-binding[x00-x20]*:#u,$1=$2nomozbinding...,$data);//OnlyworksinIE:<spanstyle="width:expression(alert(Ping!));"></span>$data=preg_replace(#(<[^>]+?)style[x00-x20]*=[x00-x20]*[`"]*.*?expression[x00-x20]*([^>]*+>#i,$1>,$data);$data=preg_replace(#(<[^>]+?)style[x00-x20]*=[x00-x20]*[`"]*.*?behaviour[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(#</*w+:w[^>]*+>#i,,$data);//http://www.Alixixi.com/do{//Removereallyunwantedtags$old_data=$data;$data=preg_replace(#</*(?:appletb(?:asegsoundlink)embedframe(?:set)?i(?:framelayer)l(?:ayerink)metaobjects(?:cripttyle)titlexml)[^>]*+>#i,,$data);}while($old_data!==$data);//wearedone...return$data;}
复制代码 您大概感乐趣的文章
- 通用的PHP防注进毛病打击的过滤函数代码
- PHP反省扫瞄器参数避免被SQL注进的函数
- php提取身份证号码中的诞辰日期和考证是不是为未成年人的函数
- jquery+html+php完成Ajax无革新文件上传
- 避免网站被打击的举措
- smarty模板中利用php函数和smarty模板中怎样对一个变量利用多个函数
- php输入今天,明天,今天是礼拜几的办法
- 壮大的PHP图片处置类(水印、通明度、缩放、锐化、扭转、翻转、剪切、反色)
对于PHP的语法结构,刚开始真的很不习惯,真搞不懂为什么每个变量之前都要加个“$”符号,每个语句写完之后都必须加上“分号”来表示此句已经结束,还有,PHP对字母的大小写是敏感的,写的时候一定要注意大小写的区别。 |
|