网站地图    收藏   

主页 > php专栏 > php函数大全 >

php sql防注入以及 html 过滤安全函数 - php函数

来源:自学PHP网    时间:2014-11-25 00:27 作者: 阅读:

[导读] 方法一过滤html自定义函数,代码如下:functionihtmlspecialchars($string){if(is_array($string)){foreach($stringas$key=$val){$string[$k......

php sql防注入以及 html 过滤安全函数

方法一过滤html自定义函数,代码如下:

  1. function ihtmlspecialchars($string) {  
  2. if(is_array($string)) {  
  3. foreach($string as $key => $val) {  
  4. $string[$key] = ihtmlspecialchars($val);  
  5. //开源代码phpfensi.com 
  6. else {  
  7. $string = preg_replace('/&((#(d{3,5}|x[a-fa-f0-9]{4})|[a-za-z][a-z0-9]{2,5});)/''&\1',  
  8. str_replace(array('&''"''<''>'), array('&amp;''&quot;''&lt;''&gt;'), $string));  
  9. }  
  10. return $string;   

方法二,代码如下:

  1. // $rptype = 0 表示仅替换 html标记  
  2. // $rptype = 1 表示替换 html标记同时去除连续空白字符  
  3. // $rptype = 2 表示替换 html标记同时去除所有空白字符  
  4. // $rptype = -1 表示仅替换 html危险的标记  
  5. function htmlreplace($str,$rptype=0)  
  6. {  
  7. $str = stripslashes($str);  
  8. if($rptype==0)  
  9. {  
  10. $str = htmlspecialchars($str);  
  11. }  
  12. else if($rptype==1)  
  13. {  
  14. $str = htmlspecialchars($str);  
  15. $str = str_replace(" ",' ',$str);  
  16. $str = ereg_replace("[rnt ]{1,}",' ',$str);  
  17. }  
  18. else if($rptype==2)  
  19. {  
  20. $str = htmlspecialchars($str);  
  21. $str = str_replace(" ",'',$str);  
  22. $str = ereg_replace("[rnt ]",'',$str);  
  23. }  
  24. else  
  25. {  
  26. $str = ereg_replace("[rnt ]{1,}",' ',$str);  
  27. $str = eregi_replace('script','script',$str);  
  28. $str = eregi_replace("<[/]{0,1}(link|meta|ifr|fra)[^>]*>",'',$str);  
  29. }  
  30. return addslashes($str);  

其它方法,php过滤不安全字符函数,代码如下:

  1. function uh($str
  2.     $farr = array
  3.         "/s+/",//过滤多余的空白 
  4.         "/<(/?)(script|i?frame|style|html|body|title|link|meta|?|%)([^>]*?)>/isu",//过滤 <script 等可能引入恶意内容或恶意改变显示布局的代码,如果不需要插入flash等,还可以加入<object的过滤 
  5.         "/(<[^>]*)on[a-za-z]+s*=([^>]*>)/isu",//过滤网页特效的on事件 
  6.     ); 
  7.    $tarr = array
  8.         " "
  9.         "<\1\2\3>"//如果要直接清除不安全的标签,这里可以留空 
  10.         "\1\2"
  11.    ); 
  12.  
  13.   $str = preg_replace($farr,$tarr,$str); 
  14.   return $str

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论