我的PHP
页面正在接受URL中的参数。此参数被分配给一个变量,如下所示:为什么要将转义字符添加到URL参数中?
$msg = $_REQUEST["msg"];
当HTTP
请求被发送到该网站时,参数作为"hello'"
发送,但是当它到达PHP
可变以上变得"hello\'"
。
为什么要插入反斜线并插入它?它是网络服务器吗?我怎样才能防止这种情况发生?
我的PHP
页面正在接受URL中的参数。此参数被分配给一个变量,如下所示:为什么要将转义字符添加到URL参数中?
$msg = $_REQUEST["msg"];
当HTTP
请求被发送到该网站时,参数作为"hello'"
发送,但是当它到达PHP
可变以上变得"hello\'"
。
为什么要插入反斜线并插入它?它是网络服务器吗?我怎样才能防止这种情况发生?
它被追加,导致您的单引号符号是字符串的一部分。如果它不会被转义 - 这就是反斜杠的含义 - 可能是您的字符串定义过早终止。
没有downvote ..但这不是原因。 – Daedalus 2013-03-11 07:56:55
Magic Quotes正在您的服务器上运行。您应该使用的stripslashes($文本)功能:
if(get_magic_quotes_gpc())
$msg = stripslashes($_REQUEST["msg"]);
else $msg = $_REQUEST["msg"];
[PHP魔术引号(http://en.wikipedia.org/wiki/Magic_quotes)。 – DCoder 2013-03-11 07:53:22
使用字符串stripslashes(字符串$ str) – 2013-03-11 07:53:43
可能的重复[如何关闭PHP配置文件中的魔术引号?我正在使用XAMPP](http://stackoverflow.com/questions/1748001/how-to-turn-off-magic-quotes-in-php-configuration-file-i-am-using-xampp)或[如何可以我在运行时禁用PHP魔术引号?](http://stackoverflow.com/questions/1153741/how-can-i-disable-php-magic-quotes-at-runtime) – hakre 2013-03-11 07:55:27