当前位置:首页 > CMS教程 > ecshop > 列表

ecshop防sql注入 递归过滤get,post方法

发布:smiling 来源: PHP粉丝网  添加日期:2015-05-08 09:01:41 浏览: 评论:0 

echsop开源的程序,做了sql防注入功能,函数在文件/includes/lib_base.php里面,如果我们要自定开发表单,可以用下面这些函数进行过滤.

ecshop二次开发可能会要提交表单,我们最好是用ecshop自动的函数addslashes_deep过滤一下,下面是函数原型及使用方法.

  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);  //phpfensi.com 
  18.     } 
  19. } 

使用方法:

  1. /* 对用户传入的变量进行转义操作。*/ 
  2. if (!get_magic_quotes_gpc()) 
  3. { 
  4.     if (!emptyempty($_GET)) 
  5.     { 
  6.         $_GET  = addslashes_deep($_GET); 
  7.     } 
  8.     if (!emptyempty($_POST)) 
  9.     { 
  10.         $_POST = addslashes_deep($_POST); 
  11.     } 
  12.  
  13.     $_COOKIE   = addslashes_deep($_COOKIE); 
  14.     $_REQUEST  = addslashes_deep($_REQUEST); 
  15. }

Tags: sql注入 ecshop过滤get

分享到: