PHP&;MySQL striplashes()问题

PHP&;MySQL striplashes()问题,php,mysql,Php,Mysql,如果启用了magic\u quotes\u gpc,我是否仍需要使用striplashes()如果否,为什么?那么何时何地?gpc inmagic\u quotes\u gpc代表GET、POST、COOKIE。因此,$\u GET,$\u POST和$\u COOKIE中的所有内容都被转义。如果magic_quotes_gpc已启用,则应在这些数组中的变量上运行stripslashes 记住对查询中的变量运行mysql\u real\u escape\u string()(准备好的语句除外)

如果启用了
magic\u quotes\u gpc
,我是否仍需要使用
striplashes()
如果否,为什么?那么何时何地?

gpc in
magic\u quotes\u gpc
代表GET、POST、COOKIE。因此,
$\u GET
$\u POST
$\u COOKIE
中的所有内容都被转义。如果magic_quotes_gpc已启用,则应在这些数组中的变量上运行stripslashes

记住对查询中的变量运行
mysql\u real\u escape\u string()
(准备好的语句除外)

不推荐使用magic_引号,建议禁用它并使用
mysql\u real\u escape\u string()
(对于mysql)转义变量。将以下内容放入.htaccess文件以禁用magic_quotes_gpc:

php_flag magic_quotes_gpc off
php_flag magic_quotes_runtime off
不是“静止”,但这是您需要此功能的唯一情况


在包含在所有脚本中的配置文件中。从所有GPC数据中删除斜杠。

非常好的选择是make
mysql\u real\u escape\u string();
我奉劝你不要引用魔法语录。在PHP6中,神奇的引号将被关闭。
如果您的主机不允许您更改此选项,您可以使用下一个功能:

function stripslashes_deep($value) {
    $value = is_array($value) ?
                array_map('stripslashes_deep', $value) :
                stripslashes($value);

    return $value;
}

if((function_exists("get_magic_quotes_gpc") && get_magic_quotes_gpc())    || (ini_get('magic_quotes_sybase') && (strtolower(ini_get('magic_quotes_sybase'))!="off")) ){
    stripslashes_deep($_GET);
    stripslashes_deep($_POST);
    stripslashes_deep($_COOKIE);
}