菜单

金沙国际唯一官网PHP网页防范SQL注入方法配置

2020年2月13日 - 金沙国际唯一官网

复制代码 代码如下:

为了安全起见,能够张开“php.ini”文件的平安情势,设置“safe_mode=On”;显示PHP 实践错误新闻的
“display_erros”选项假若张开的话,将会回来相当多可应用的音讯给凌犯者,由此要将其设置为“display_erros=off”;那样,PHP
函数实践错误后的音信将不会在客商端的浏览器中开展体现。

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);
}
}
?>

   
别的,在文书还也许有二个非常重视的构造选项,假设将内部的“magic_quotes_gpc”项设置为“On”,PHP
程序会自动将客商提交的变量是包涵的“’”、“””、“”自动转为含有反斜线的转义字符。那一个选项相通ASP 程序中的参数过滤,能够对好些个字符型注入攻击起到防御的效果。

大器晚成段程序特不易,借令你从未服务器管理权限

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图