> php教程 > php手册 > PHP防注入配置与php防注入代码

PHP防注入配置与php防注入代码

WBOY
풀어 주다: 2016-06-13 10:12:53
원래의
1327명이 탐색했습니다.

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)|/*.+?*/|

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿