可能重复:
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/
答案 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
删除反斜杠