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



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; 





评论:
jao
2012-12-29 18:30 回复
@琪琪:一会儿开了班会看
琪琪
2012-12-29 18:15 回复
@jao:才不是呢。。。自己看:http://www.w3school.com.cn/php/func_string_htmlspecialchars.asp
jao
2012-12-29 18:10 回复
@琪琪:那个是过滤掉所有的html标签啊
琪琪
2012-12-29 17:59 回复
话说不是有htmlspecialchars()函数么。。。