-1

如果我在http://localhost/script.php?a="Chrome 的 URL 栏中输入 URL,其中 script.php 是以下测试代码:

var_dump( $_GET );
print '<br>';
var_dump( urldecode($_GET['a']) );
die();

结果看起来像

array(1) { ["a"]=> string(2) "\"" } 
string(2) "\""

Chrome(或 Apache/PHP?)似乎在引号前添加了反斜杠。如果我在 URL 中使用 %22 而不是引号字符,也会发生同样的事情。不应该是这样的,不是吗?

我不记得以前有过这个问题,但这是 PHP 和 Apache 的一个相当“新”的(对我而言)安装,那么可能是我的安装中的一些配置导致了这个问题吗?

4

1 回答 1

0

Try below -

var_dump( $_GET );
print '<br>';
var_dump( urldecode(stripslashes($_GET['a'])));
die();

This is because magic_quotes is ON in your php.ini file - You can add below in php.ini , this should work.

magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off
于 2014-07-30T11:34:16.647 回答