PHP网页防范SQL注入方法配置_PHP教程

WBOY
Libérer: 2016-07-13 17:10:53
original
1152 Les gens l'ont consulté

前提条件是我们需要有服务器的管理权限,就是可以修改php.ini文件了,下面我来介绍修改php配置文件来防范SQL注入方法有需要学习的朋友可参考。

为了安全起见,可以打开“php.ini”文件的安全模式,设置“safe_mode=On”;显示 PHP 执行错误信息的 “display_erros”选项如果打开的话,将会返回很多可利用的信息给入侵者,因此要将其设置为“display_erros=off”;这样,PHP 函数执行错误后的信息将不会在客户端的浏览器中进行显示。

    此外,在文件还有一个很重要的配置选项,如果将其中的“magic_quotes_gpc”项设置为“On”,PHP 程序会自动将用户提交的变量是含有的“'”、“"”、“”自动转为含有反斜线的转义字符。这个选项类似 ASP 程序中的参数过滤,可以对大部分字符型注入攻击起到防范的作用。

一段程序非常不错,如果你没有服务器管理权限

 代码如下 复制代码

class sqlsafe {
 private $getfilter = "'|(and|or)\b.+?(>|  private $postfilter = "\b(and|or)\b.{1,6}?(=|>|  private $cookiefilter = "\b(and|or)\b.{1,6}?(=|>|  /**
  * 构造函数
  */
 public function __construct() {
  foreach($_GET as $key=>$value){$this->stopattack($key,$value,$this->getfilter);}
  foreach($_POST as $key=>$value){$this->stopattack($key,$value,$this->postfilter);}
  foreach($_COOKIE as $key=>$value){$this->stopattack($key,$value,$this->cookiefilter);}
 }
 /**
  * 参数检查并写日志
  */
 public function stopattack($StrFiltKey, $StrFiltValue, $ArrFiltReq){
  if(is_array($StrFiltValue))$StrFiltValue = implode($StrFiltValue);
  if (preg_match("/".$ArrFiltReq."/is",$StrFiltValue) == 1){  
   $this->writeslog($_SERVER["REMOTE_ADDR"]."    ".strftime("%Y-%m-%d %H:%M:%S")."    ".$_SERVER["PHP_SELF"]."    ".$_SERVER["REQUEST_METHOD"]."    ".$StrFiltKey."    ".$StrFiltValue);
   showmsg('您提交的参数非法,系统已记录您的本次操作!','',0,1);
  }
 }
 /**
  * SQL注入日志
  */
 public function writeslog($log){
  $log_path = CACHE_PATH.'logs'.DIRECTORY_SEPARATOR.'sql_log.txt';
  $ts = fopen($log_path,"a+");
  fputs($ts,$log."rn");
  fclose($ts);
 }
}
?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/629633.htmlTechArticle前提条件是我们需要有服务器的管理权限,就是可以修改php.ini文件了,下面我来介绍修改php配置文件来防范SQL注入方法有需要学习的朋友可...
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!