斜线附加到我的所有帖子

时间:2011-09-14 14:25:48

标签: php javascript html forms

  

可能重复:
  Why turning magic_quotes_gpc on in PHP is considered a bad practice?

当我从帖子表单中获取信息时,html表单会在随机字符之前添加斜杠。例如:你好“乔治”成为你好的“乔治”。

我根本不明白为什么会发生这种情况,我试过已经禁止javascript输入标签中的斜线但是不起作用所以我需要一些php或javascript函数来从服务器中删除它。该函数也必须在html中工作,因为我正在使用这三种技术,因为我正在开发和销售Web 2.0站点。

这个及其html版本的php函数是什么? 提前谢谢。

在这里,我将这个问题链接到我的页面,也许你可以检查一下这种情况发生的原因。

http://www.nickersonweb.com/
http://www.preferredmerchantservices.net/

2 个答案:

答案 0 :(得分:6)

这是PHP的一个旧的(已弃用)功能,它可以自动从各种来源($ _GET,$ _POST,$ _COOKIE等)转义字符串中的某些字符。

目标是防止SQL注入漏洞,但这并不是那么好。

可以通过在php.ini中将magic_quotes_gpc设置为0来禁用此功能。

如果您无法控制magic_quotes_gpc设置,则可能需要使用stripslashes功能撤消其效果:

$value = stripslashes($_POST['foo']);

您可以对所有$_POST个变量执行此操作:

function stripslashes_r($value) {
    if (is_array($value)) return array_map('stripslashes_r', $value);
    else return stripslashes($value);
}

if (get_magic_quotes_gpc()) {
    $_POST = stripslashes_r($_POST);
}

答案 1 :(得分:1)

特殊字符被转义。您可以使用http://php.net/manual/en/function.stripslashes.php

删除反斜杠