0

我的PHP页面接受 URL 中的参数。该参数被分配给一个变量,如下所示:

$msg = $_REQUEST["msg"];

HTTP请求发送到网站时,参数被发送为"hello'",但是当它到达PHP上面的变量时,它变成了"hello\'"

为什么要插入反斜杠以及插入的是什么?是网络服务器吗?我怎样才能防止这种情况发生?

4

2 回答 2

1

Magic Quotes 正在您的服务器上运行。您应该使用stripslashes($text)函数:

if(get_magic_quotes_gpc()) 
        $msg = stripslashes($_REQUEST["msg"]); 
   else $msg = $_REQUEST["msg"];
于 2013-03-11T07:58:58.740 回答
-2

它被附加是因为您的单引号是字符串的一部分。如果它不会被转义 - 这就是反斜杠的含义 - 可能是您的字符串定义过早终止。

于 2013-03-11T07:54:29.520 回答