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 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_引号,建议禁用它并使用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);
}