扫码关注官方订阅号
部分强大的在线编辑器,已经包含了代码整理,过滤功能,但js处理的能被很轻易的饶过,服务端必须要再次过滤一次,这几天花了点时间,写了部分,希望对大家有点用处,本人能力有限,还请有能力的朋友补全它。/*不需要过滤的数组*/$htm_on=array("","","","","","","","","","","","","font");$htm_on_uper=array("","","","","","","","","","","","","font");/*字符格式*/$str=strtolower($str);$str=preg_replace("//s+/", " ", $str);//过滤回车$str=preg_replace("/ +/", " ", $str);//过滤多个空格/*过滤/替换几种形式的js*/$str=preg_replace("/(.*?)/si","",$str);//删除<script>。。。</script>格式,//$str=preg_replace("/(.*?)/si","/1>//2/3>",$str);//替换为可以显示的,$str=preg_replace("//si","",$str);//删除<script>未封闭<br/>//$str=preg_replace("/<(script.*?)>/si","<//1>",$str);//替换未封闭<br/><br/>/*删除/替换表单*/<br/>$str=preg_replace("/<(//?form.*?)>/si","",$str);//删除表单<br/>//$str=preg_replace("/<(//?form.*?)>/si","<//1>",$str);//替换表单<br/><br/>$str=preg_replace("/<(i?frame.*?)>(.*?)<(//i?frame.*?)>/si","",$str);//删除框架<br/>//$str=preg_replace("/<(i?frame.*?)>(.*?)<(//i?frame.*?)>/si","<//1>//2<//3>",$str);//替换框架<br/><br/>/*过滤on事件*/<br/>$str=preg_replace("/href=(.+?)([/"|/'| |>])/ie","'href='.strtoupper('//1').'//2'",$str);//把href=涉及到的on转换为大写。<br/>$str=str_replace($htm_on,$htm_on_uper,$str);//把<font,font>换为大写,dhtml标签字符,正则判断太烦琐,采用转换办法。<br/>$str=preg_replace("/(on[^ /.<>]+?)([ |>])/s","//2",$str);//取掉on事件<br/><br/>/*过滤超级连接的js*/<br/>$str=preg_replace("/(href|src|background|url|dynsrc|expression|codebase)[=:/(]([ /"/']*?/w+/..*?|javascript|vbscript:[^>]*?)(/)?)([ >//])/si","//1='#' //3//4",$str);//取掉href=javascript:<br/><br/>//返回小写字符<br/>$str=strtolower($str);<br/>$str=str_replace("&","&",$str);</script>
以上就是过滤html在线编辑器产生有危害代码 的详细内容,更多请关注php中文网其它相关文章!
HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部