它山之石可以攻玉

键盘上的生活
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

用php过滤表单提交中的危险html代码

Posted on 2011-07-26 14:03  陈达辉  阅读(1128)  评论(0编辑  收藏  举报
function uhtml($str) 

    $farr = array( 
        "/\s+/", //过滤多余空白 
         //过滤 <script>等可能引入恶意内容或恶意改变显示布局的代码,如果不需要插入flash等,还可以加入<object>的过滤 
        "/<(\/?)(script|i?frame|style|html|body|title|link|meta|\?|\%)([^>]*?)>/isU",
        "/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU",//过滤javascript的on事件 
   ); 
   $tarr = array( 
        " ", 
        "<\1\2\3>",//如果要直接清除不安全的标签,这里可以留空 
        "\1\2", 
   ); 
  $str = preg_replace( $farr,$tarr,$str); 
   return $str; 
}