【问题标题】:Why is escape character being added to URL parameters? [duplicate]为什么要在 URL 参数中添加转义字符? [复制]
【发布时间】:2013-02-26 08:02:38
【问题描述】:

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

$msg = $_REQUEST["msg"];

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

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

【问题讨论】:

标签: php apache url parameters escaping


【解决方案1】:

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

if(get_magic_quotes_gpc()) 
        $msg = stripslashes($_REQUEST["msg"]); 
   else $msg = $_REQUEST["msg"];

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 没有投反对票.. 但这不是原因。
    猜你喜欢
    • 2011-01-11
    • 2018-01-21
    • 1970-01-01
    • 2011-10-17
    • 1970-01-01
    • 1970-01-01
    • 2011-05-14
    • 2018-03-14
    • 1970-01-01
    相关资源
    最近更新 更多