打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
php代码安全相关(1)
Php代码
 
  1. /**  
  2.  * 递归方式的对变量中的特殊字符进行转义  
  3.  *  
  4.  * @access  public  
  5.  * @param   mix     $value  
  6.  *  
  7.  * @return  mix  
  8.  */  
  9. function addslashes_deep($value)   
  10. {   
  11.     if (emptyempty($value))   
  12.     {   
  13.         return $value;   
  14.     }   
  15.     else  
  16.     {   
  17.         return is_array($value) ? array_map('addslashes_deep'$value) : addslashes($value);   
  18.     }   
  19. }  

  上面的array_map函数对多维数组递归调用addslashes_deep来进行过滤。

 

Php代码
 
  1. /**  
  2.  * 递归方式的对变量中的特殊字符去除转义  
  3.  *  
  4.  * @access  public  
  5.  * @param   mix     $value  
  6.  *  
  7.  * @return  mix  
  8.  */  
  9. function stripslashes_deep($value)   
  10. {   
  11.     if (emptyempty($value))   
  12.     {   
  13.         return $value;   
  14.     }   
  15.     else  
  16.     {   
  17.         return is_array($value) ? array_map('stripslashes_deep'$value) : stripslashes($value);   
  18.     }   
  19. }  

 

Php代码
 
  1. /**  
  2.  * 自定义 header 函数,用于过滤可能出现的安全隐患  
  3.  *  
  4.  * @param   string  string  内容  
  5.  *  
  6.  * @return  void  
  7.  **/  
  8. function ecs_header($string$replace = true, $http_response_code = 0)   
  9. {   
  10.     if (strpos($string'../upgrade/index.php') === 0)   
  11.     {   
  12.         echo '<script type="text/javascript">window.location.href="' . $string . '";</script>';   
  13.     }   
  14.     $string = str_replace(array("\r""\n"), array(''''), $string);   
  15.   
  16.     if (preg_match('/^\s*location:/is'$string))   
  17.     {   
  18.         @header($string . "\n"$replace);   
  19.   
  20.         exit();   
  21.     }   
  22.   
  23.     if (emptyempty($http_response_code) || PHP_VERSION < '4.3')   
  24.     {   
  25.         @header($string$replace);   
  26.     }   
  27.     else  
  28.     {   
  29.         @header($string$replace$http_response_code);   
  30.     }   
  31. }  

   PHP的header函数对URL中包含的数据缺少正确过滤,远程攻击者可以利用这个漏洞进行脚本注入攻击。

  另外PHP的header()实现上存在潜在的缓冲区溢出漏洞。

 

Php代码
 
  1. /**  
  2.  * 对 MYSQL LIKE 的内容进行转义  
  3.  *  
  4.  * @access      public  
  5.  * @param       string      string  内容  
  6.  * @return      string  
  7.  */  
  8. function mysql_like_quote($str)   
  9. {   
  10.     return strtr($strarray("\\\\" => "\\\\\\\\", '_' => '\_', '%' => '\%', "\'" => "\\\\\'"));   
  11. }  

 另外还有htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。以及htmlentities函数

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
根据中文裁减字符串函数的php代码
UChome 代码分析讲解:uc_client模块的client.php文件
【教程】从人脸检测与比对,实测七牛云人脸核验 API
通用的PHP防注入漏洞攻击的过滤函数代码
详解PHP防范SQL注入的具体方法
PHP简单导出Excel表格
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服