欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP防注入配置与php防注入代码_PHP教程

程序员文章站 2022-04-26 17:33:02
...
php中防注入有两种一种是sql防注入,另一种上像很多cms一样的过程所有提交过来的变量,还有一种是可以直接配置php.ini,下面我分别给大家介绍介绍。

1.将safe.func.php传到要包含的文件的目录

2.在页面中加入防护,有两种做法,根据情况二选一即可:

a).在所需要防护的页面加入代码

require_once('safe.func.php');
就可以做到页面防注入、跨站
如果想整站防注,就在网站的一个公用文件中,如数据库链接文件config.inc.php中!
添加require_once('safe.func.php');来调用本代码

safe.func.php 代码如下:

代码如下 复制代码

/**
* 防注入
*
* "

操作IP: ".$_SERVER["REMOTE_ADDR"]."
操作时间: ".strftime("%Y-%m-%d %H:%M:%S")."
操作页面:".$_SERVER["PHP_SELF"]."
提交方式: ".$_SERVER["REQUEST_METHOD"]."
提交参数: ".$StrFiltKey."
提交数据: ".$StrFiltValue);
*/

function safe_custom_error($errno, $errstr, $errfile, $errline) {
echo "Error number: [$errno],error on line $errline in $errfile
";
die();
}


set_error_handler("safe_custom_error", E_ERROR);

function safe_stop_attack($k, $v, $method=0) {
$filter = array(
"'|(and|or).+?(>||EXEC|UNION.+?SELECT|UPDATE.+?SET|INSERTs+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)s+(TABLE|DATABASE)",//get
"(and|or).{1,6}?(=|>|in|like)|/*.+?*/|