5.2.17
--修改自Discuz----
magic_quotes_gpc不管开启与否都正常转义单引号
如果开启了就不运行daddslashes这个函数,也就是没有addslashes转义
如果没有开启就把$_GET,$_POST之类的全局提交数据进行转义,防止SQL的运行不正确。
//转义单引号函数
function daddslashes($string) {
if(is_array($string)) {
}
//如果在php.ini中 magic_quotes_gpc = Off
if(!get_magic_quotes_gpc()){
unset($GLOBALS, $_ENV, $HTTP_GET_VARS, $HTTP_POST_VARS,
$HTTP_COOKIE_VARS, $HTTP_SERVER_VARS, $HTTP_ENV_VARS);
$_GET
$_POST
$_COOKIE
$_SERVER
$_FILES
$_REQUEST
}
//PHP获取客户端IP地址
function _get_client_ip() {
$ip = $_SERVER['REMOTE_ADDR'];
if (isset($_SERVER['HTTP_CLIENT_IP']) &&
preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/',
$_SERVER['HTTP_CLIENT_IP'])) {
} elseif(isset($_SERVER['HTTP_X_FORWARDED_FOR']) AND
preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s',
$_SERVER['HTTP_X_FORWARDED_FOR'], $matches)) {
}
本文介绍了Discuz中的daddslashes函数,该函数用于在magic_quotes_gpc关闭时对提交数据进行SQL转义,确保数据安全。同时,文章也展示了如何在PHP中获取客户端IP地址。
529

被折叠的 条评论
为什么被折叠?



