SQL注入的PHP网页,PHP网页防范SQL注入方法配置

本文介绍了如何通过修改php.ini文件来增强服务器的安全性,防范SQL注入攻击。建议设置'safe_mode=On','display_errors=Off'以避免错误信息暴露,并启用'magic_quotes_gpc'以自动转义用户输入,减少注入风险。同时,提供了一段代码示例,用于在没有服务器管理权限时对用户提交的数据进行检查和记录。
摘要由CSDN通过智能技术生成

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

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

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

一段程序非常不错,如果你没有服务器管理权限,可以使用如下代码:||| $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);

}

}

教程链接:

随意转载~但请保留教程地址★

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值