php 字符串安全过滤 全攻略

本文介绍了一段用于防止PHP代码注入攻击的代码实现,包括添加斜杠以过滤输入参数,以及解码和编码字符串以避免SQL注入等潜在安全风险。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. <?php   
  2. if (!get_magic_quotes_gpc()) {      
  3.      add_slashes($_GET);      
  4.      add_slashes($_POST);      
  5.      add_slashes($_COOKIE);      
  6. }      
  7.      
  8. function add_slashes($string) {      
  9.      if (is_array($string)) {      
  10.          foreach ($string as $key => $value) {      
  11.              $string[$key] = add_slashes($value);      
  12.          }      
  13.      } else {      
  14.          $string = addslashes($string);      
  15.      }      
  16.      return $string;      
  17. }     
  18.   
  19.   
  20.   
  21. //php防注入函数,字符过滤函数  
  22.        //解码  
  23.       function htmldecode($str)  
  24.       {  
  25.       if(empty($str)) return;  
  26.       if($str==""return $str;  
  27.       $str=str_replace("select","select",$str);  
  28.       $str=str_replace("join","join",$str);  
  29.       $str=str_replace("union","union",$str);  
  30.       $str=str_replace("where","where",$str);  
  31.       $str=str_replace("insert","insert",$str);  
  32.       $str=str_replace("delete","delete",$str);  
  33.       $str=str_replace("update","update",$str);  
  34.       $str=str_replace("like","like",$str);  
  35.       $str=str_replace("drop","drop",$str);  
  36.       $str=str_replace("create","create",$str);  
  37.       $str=str_replace("modify","modify",$str);  
  38.       $str=str_replace("rename","rename",$str);  
  39.       $str=str_replace("alter","alter",$str);  
  40.       $str=str_replace("cas","cast",$str);  
  41.       $str=str_replace("&","&",$str);  
  42.       $str=str_replace(">",">",$str);  
  43.       $str=str_replace("<","<",$str);  
  44.       $str=str_replace(" ",chr(32),$str);  
  45.       $str=str_replace(" ",chr(9),$str);  
  46.       // $str=str_replace("    ",chr(9),$str);  
  47.       $str=str_replace("&",chr(34),$str);  
  48.       $str=str_replace("'",chr(39),$str);  
  49.       $str=str_replace("<br />",chr(13),$str);  
  50.       $str=str_replace("''","'",$str);  
  51.       return $str;  
  52.       }  
  53.   
  54.   
  55.   
  56.         //编码  
  57.       function htmlencode($str)  
  58.       {  
  59.       if(empty($str)) return;  
  60.       if($str==""return $str;  
  61.       $str=trim($str);  
  62.       $str=str_replace("&","&",$str);  
  63.       $str=str_replace(">",">",$str);  
  64.       $str=str_replace("<","<",$str);  
  65.       $str=str_replace(chr(32)," ",$str);  
  66.       $str=str_replace(chr(9)," ",$str);  
  67.       // $str=str_replace(chr(9),"    ",$str);  
  68.       $str=str_replace(chr(34),"&",$str);  
  69.       $str=str_replace(chr(39),"'",$str);  
  70.       $str=str_replace(chr(13),"<br />",$str);  
  71.       $str=str_replace("'","''",$str);  
  72.       $str=str_replace("select","select",$str);  
  73.       $str=str_replace("join","join",$str);  
  74.       $str=str_replace("union","union",$str);  
  75.       $str=str_replace("where","where",$str);  
  76.       $str=str_replace("insert","insert",$str);  
  77.       $str=str_replace("delete","delete",$str);  
  78.       $str=str_replace("update","update",$str);  
  79.       $str=str_replace("like","like",$str);  
  80.       $str=str_replace("drop","drop",$str);  
  81.       $str=str_replace("create","create",$str);  
  82.       $str=str_replace("modify","modify",$str);  
  83.       $str=str_replace("rename","rename",$str);  
  84.       $str=str_replace("alter","alter",$str);  
  85.       $str=str_replace("cast","cas",$str);  
  86.       return $str;  
  87.       }  
  88. ?>  

 

代码来源于网络,喜欢的朋友可以直接拿去学习。

未经过测试,请自行验证代码的正确性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值