PHP技巧:php过滤危险html代码 - 逝去的青春

PHP技巧:php过滤危险html代码

作者:jao 发布于:2012-12-27 22:19 分类:PHP文档

PHP过滤html里可能被利用来引入外部危险内容的代码。有些时候,需要让用户提交html内容,以便丰富用户发布的信息,当然,有些可能造成显示页面布局混乱的代码也在过滤范围内。
以下是引用片段:

#用户发布的html,过滤危险代码 

function uh($str) 

$farr = array( 

"/\s+/", //过滤多余的空白 

"/<(\/?)(script|i?frame|style|html|body|title|link|meta|\?|\%)([^>]*?)>/isU", //过滤

<SCRIPT 

        "/(]*)on[a-zA-Z]+\s*=([^>]*>)/isU",                                      //过滤javascript的on事件 

      

   ); 

   $tarr = array( 

        " ", 

        "<\\1\\2\\3>",           //如果要直接清除不安全的标签,这里可以留空 

        "\\1\\2", 

   ); 


  $str = preg_replace( $farr,$tarr,$str); 

   return $str; 

标签: php教程 PHP 过滤

et_highlighter

评论:

琪琪
2012-12-29 17:59
话说不是有htmlspecialchars()函数么。。。
jao
2012-12-29 18:10
@琪琪:那个是过滤掉所有的html标签啊
琪琪
2012-12-29 18:15
@jao:才不是呢。。。自己看:http://www.w3school.com.cn/php/func_string_htmlspecialchars.asp
jao
2012-12-29 18:30
@琪琪:一会儿开了班会看
Copyright © 2012-2013 逝去的青春 蜀ICP备13029051号-1 手机版 安全联盟 Theme by Admin73 sitemap