繁体   English   中英

使用多种形式处理带双引号的post参数

[英]Handing post parameter with double quotes over multiple forms

如何使用POST交出双引号? 每次尝试时,他第一次给我\\' \\\\\\'\\\\\\ ,以此类推。 我用str_replace尝试过,但仅适用于零件。 有没有办法解决这个问题?

编辑:

禁用magic_quotes_gpc它仍然不能100%正确地工作。 我的第一个表格有一个隐藏的输入字段。 它具有价值

text 'textinquotes'

每个post此值将提交到另一个php脚本。 如果我输出变量,我得到

text \\'textinquotes\\'

如果用户忘记填写字段,则我将每个post的值提交给另一个PHP脚本。 在此php脚本中,我get了php脚本的参数,用户在其中输入了他的值。 在这种情况下

text \\\\\\'textinquotes\\\\\\'

如果用户输入的所有内容正确无误,我会写一封电子邮件并将其存储在数据库中。 在我收到的电子邮件中

text \\'textinquotes\\'

在数据库中

text 'textinquotes'

我在做什么还是错误的?

为了创建get我有以下代码:

$red = $referer."?error=1";
foreach($post as $post_key => $post_value) {
    $red .= "&".$post_key."=".$post_value;
}

它是PHP淘汰的magic_quotes_gpc功能所不支持的,
或通过放置一些错误的常规输入的“消毒”功能。

无论哪种情况,您都必须找到原因并永远将其关闭。

对于魔术,您可以使用phpinfo()来查看它的价值。

如果这是魔术引号,并且您无权更改php。 设置,您至少可以清理超全局数组,这应该足够了。 这个网站上有很多代码, 如果php.ini / .htaccess是不可编辑的 ,那么如何删除魔术引号? 例如

在存储数据之前,请使用stripslashes删除PHP的数据格式。

$text = stripslashes($_POST['data']);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM