PHP Post值,不添加斜杠

时间:2016-08-02 05:34:09

标签: php

我有这个与外部API联系的PHP代码

$arr = array(
        "domain_name" => $_POST["domain"],
       "auto_renew" => false,
       "domain_lock" => false,
       "whois_privacy" => false, 
       "contact_registrant_id" => $_POST["registrant_contact"], 
       "contact_admin_id" => $_POST["admin_contact"], 
       "contact_tech_id" => $_POST["tech_contact"], 
       "contact_billing_id" => $_POST["billing_contact"], 
       "auth_code" =>($_POST["auth_code"])
    );

我为$_POST["auth_code"]发布的值为l&"IkM%Wbjjq7

但是,当它发布此值时,会将其发布为l&\\\"IkM%Wbjjq7

所以它添加斜线,这会导致问题。

2 个答案:

答案 0 :(得分:1)

它可能对你有所帮助。 “magic_quotes_gpc”可能已启用。您可以在php.ini中禁用它。

magic_quotes_gpc = Off 

OR 

$str = $_POST["auth_code"];
echo get_magic_quotes_gpc() ? stripslashes($str) : $str;

OR 

echo stripslashes($str);

答案 1 :(得分:0)

由于魔术引号,这可能是 。有关详细信息,请参阅https://stackoverflow.com/a/517027/4275413http://php.net/manual/de/security.magicquotes.disabling.php(第二个链接指向#34;禁用"它们)。

这个曾经是一个好主意,在将内容插入数据库或其他地方时,通过默认添加转义来保护用户(读取编码器),这当然会破坏几乎所有不期望它的脚本。