Php 为什么反斜杠会自动添加到所有$\u GET、$\u POST中?

Php 为什么反斜杠会自动添加到所有$\u GET、$\u POST中?,php,quotes,cpanel,Php,Quotes,Cpanel,我有一个使用cPanel/Whm/CentOS 5.5的vps,问题是发送到我的服务器的所有参数都被删除了,我检查了PHP配置,发现所有的魔引号都被关闭了,我不知道这是什么原因 我的代码非常干净,我对它了如指掌,没有任何addslashes()或类似的函数。我只想按原样接收参数 URL: test.php?text=blah" ' " 'blah <?php echo $_GET["text"]; // Output blah\" \' \" \'blah ?> URL:test

我有一个使用cPanel/Whm/CentOS 5.5的vps,问题是发送到我的服务器的所有参数都被删除了,我检查了PHP配置,发现所有的魔引号都被关闭了,我不知道这是什么原因

我的代码非常干净,我对它了如指掌,没有任何
addslashes()
或类似的函数。我只想按原样接收参数

URL: test.php?text=blah" ' " 'blah

<?php
echo $_GET["text"]; // Output blah\" \' \" \'blah
?>
URL:test.php?text=blah“'”blah
怎么关掉这个东西


谢谢。

这是一个名为“,”的(不推荐的)安全功能,可以关闭。

这是一个名为“,”的(不推荐的)安全功能,可以关闭。

你必须。

你必须。

这是php.ini中的变量(这是第一个关闭它的地方)。你真的应该检查一下你是否在看正确的文件

我相信,您也可以在.htaccess或运行时关闭它。但是,如果您的主机不允许您执行这两项操作中的任何一项,那么您可以使用以下函数,该函数将在不考虑当前设置的情况下运行word

if(get_magic_quotes_gpc()) {

    $_POST      = array_map('stripslashes_deep', $_POST);
    $_GET       = array_map('stripslashes_deep', $_GET);
    $_COOKIE    = array_map('stripslashes_deep', $_COOKIE);
    $_REQUEST   = array_map('stripslashes_deep', $_REQUEST);
}

function stripslashes_deep($value) {

    return (is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value));
}

它是php.ini中的变量(这是第一个关闭它的位置)。你真的应该检查一下你是否在看正确的文件

我相信,您也可以在.htaccess或运行时关闭它。但是,如果您的主机不允许您执行这两项操作中的任何一项,那么您可以使用以下函数,该函数将在不考虑当前设置的情况下运行word

if(get_magic_quotes_gpc()) {

    $_POST      = array_map('stripslashes_deep', $_POST);
    $_GET       = array_map('stripslashes_deep', $_GET);
    $_COOKIE    = array_map('stripslashes_deep', $_COOKIE);
    $_REQUEST   = array_map('stripslashes_deep', $_REQUEST);
}

function stripslashes_deep($value) {

    return (is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value));
}

谢谢,但正如我所描述的,我已经关闭了magic quotes。你应该检查你是否正在查看正确的文件。使用phpinfo()输出所有当前设置,包括使用的php.ini的位置。可能在php.ini中设置为off,但在运行时设置为on。这也应该在phpinfo()输出中可见。您还可以使用var_dump(get_magic_quotes_gpc())来获取magic_quotes设置的当前值。谢谢!之前,我查看了whm中的php配置部分,单击编辑magic quotes gpc,然后我发现它已经关闭,但不是,我必须再次保存它Hanks,但正如我所描述的,我已经关闭magic quotes。你应该检查你是否正在查看正确的文件。使用phpinfo()输出所有当前设置,包括使用的php.ini的位置。可能在php.ini中设置为off,但在运行时设置为on。这也应该在phpinfo()输出中可见。您还可以使用var_dump(get_magic_quotes_gpc())来获取magic_quotes设置的当前值。谢谢!之前,我查看了whm中的php配置部分,单击编辑magic quotes gpc,然后我发现它已经关闭,但没有,我必须再次保存它