伍爱资源网,升哥网络_升哥官网_升哥网络_快猫最新网址_打造全网_游戏辅助_精品线报_最强资源_QQ教程_免费0元名片赞代刷_分享平台_升哥 QQ:528912574
首页 > 教程技术 > php防sql注入攻击(含php6)

php防sql注入攻击(含php6)

网站攻击最常见的就是sql注入式攻击了,防范于未然很重要~

PHP可以开启环境变量配置为POST、GET、REQUEST、COOKIE等用户传过来的参数值自动增加转义字符“\”,以确保这些数据的安全性。

在php.ini配置环境变量magic_quotes_gpc的值为On时开启自动添加转义字符,配置为Off时关闭。

get_magic_quotes_gpc()函数就是获取magic_quotes_gpc的值的函数,On时为1,Off时为0。

开启后,在使用数据之前恢复正常的数据可采用以下函数qingzzDoStripSlashes()。

/**
 * 去除多余的转义字符
 */
function qingzzDoStripslashes() {
    if (PHP_VERSION() < 6 && get_magic_quotes_gpc()) {
	$_GET = qingzzStripslashesDeep($_GET);
	$_POST = qingzzStripslashesDeep($_POST);
	$_COOKIE = qingzzStripslashesDeep($_COOKIE);
	$_REQUEST = qingzzStripslashesDeep($_REQUEST);
    }
}

/**
 * 递归去除转义字符
 */
function qingzzStripslashesDeep($value) {
    $value = is_array($value) ? array_map('stripslashesDeep', $value) : stripslashes($value);
    return $value;
}

PHP6去除了magic quotes机制,因此只能自行添加了。

/**
 * 添加转义字符
 */
function qingzzAddslashes() {
    if (PHP_VERSION >= 6 || !get_magic_quotes_gpc()) {
	$_GET = qingzzAddslashesDeep($_GET);
	$_POST = qingzzAddslashesDeep($_POST);
	$_COOKIE = qingzzAddslashesDeep($_COOKIE);
	$_REQUEST = qingzzAddslashesDeep($_REQUEST);
    }
}

/**
 * 递归增加转义字符
 */
function qingzzAddslashesDeep($value) {
    $value = is_array($value) ? array_map('qingzzAddslashesDeep', $value) : addslashes($value);
    return $value;
}

至于判断是否转义,自己增加一个全局变量就好了~

本站资源【伍爱资源网】来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除

Copyright © 2017-2018 侵权投诉邮箱:admin@wuaiw.cn / 528912574

站长 投稿 评论 顶部