首页 / HTML / 过滤html在线编辑器产生有危害代码
过滤html在线编辑器产生有危害代码
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了过滤html在线编辑器产生有危害代码,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2314字,纯文字阅读大概需要4分钟。
内容图文
![过滤html在线编辑器产生有危害代码](/upload/InfoBanner/zyjiaocheng/394/6fcab835561a41bd84f4fa3bb305c969.jpg)
部分强大的在线编辑器,已经包含了代码整理,过滤功能,但js处理的能被很轻易的饶过,服务端必须要再次过滤一次,这几天花了点时间,写了部分,希望对大家有点用处,本人能力有限,还请有能力的朋友补全它。
/*不需要过滤的数组*/
$htm_on=array(
"<acronym","acronym>",
"<baseFont","baseFont>",
"<button","button>",
"<caption","caption>",
"<clientInformation","clientInformation>",
"<font","font>",
"<implementation","implementation>",
"<button","button>",
"<location","location>",
"<option","option>",
"<selection","selection>",
"<strong","strong>",
"font");
$htm_on_uper=array(
"<ACRONYM","ACRONYM>",
"<BASEFONT","BASEFONT>",
"<BUTTON","BUTTON>",
"<CAPTION","CAPTION>",
"<CLIENTINFORMATION","CLIENTINFORMATION>",
"<FONT","FONT>",
"<IMPLEMENTATION","IMPLEMENTATION>",
"<BUTTON","BUTTON>",
"<LOCATION","LOCATION>",
"<OPTION","OPTION>",
"<SELECTION","SELECTION>",
"<STRONG","STRONG>",
"FONT");
/*字符格式*/
$str=strtolower($str);
$str=preg_replace("//s+/", " ", $str);//过滤回车
$str=preg_replace("/ +/", " ", $str);//过滤多个空格
/*过滤/替换几种形式的js*/
$str=preg_replace("/<(script.*?)>(.*?)<(//script.*?)>/si","",$str);//删除<script>。。。</script>格式,
//$str=preg_replace("/<(script.*?)>(.*?)<(//script.*?)>/si","<//1>//2<//3>",$str);//替换为可以显示的,
$str=preg_replace("/<(script.*?)>/si","",$str);//删除<script>未封闭
//$str=preg_replace("/<(script.*?)>/si","<//1>",$str);//替换未封闭
/*删除/替换表单*/
$str=preg_replace("/<(//?form.*?)>/si","",$str);//删除表单
//$str=preg_replace("/<(//?form.*?)>/si","<//1>",$str);//替换表单
$str=preg_replace("/<(i?frame.*?)>(.*?)<(//i?frame.*?)>/si","",$str);//删除框架
//$str=preg_replace("/<(i?frame.*?)>(.*?)<(//i?frame.*?)>/si","<//1>//2<//3>",$str);//替换框架
/*过滤on事件*/
$str=preg_replace("/href=(.+?)([/"|/'| |>])/ie","'href='.strtoupper('//1').'//2'",$str);//把href=涉及到的on转换为大写。
$str=str_replace($htm_on,$htm_on_uper,$str);//把<font,font>换为大写,dhtml标签字符,正则判断太烦琐,采用转换办法。
$str=preg_replace("/(on[^ /.<>]+?)([ |>])/s","//2",$str);//取掉on事件
/*过滤超级连接的js*/
$str=preg_replace("/(href|src|background|url|dynsrc|expression|codebase)[=:/(]([ /"/']*?/w+/..*?|javascript|vbscript:[^>]*?)(/)?)([ >//])/si","//1='#' //3//4",$str);//取掉href=javascript:
//返回小写字符
$str=strtolower($str);
$str=str_replace("&","&",$str);
以上就是过滤html在线编辑器产生有危害代码 的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的过滤html在线编辑器产生有危害代码全部内容,希望文章能够帮你解决过滤html在线编辑器产生有危害代码所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。