魔术引号问题:每个引号前面都有斜杠
问题:
在 PHP 脚本中,用户表单引起了问题。当表单提交回自身时,特定文本输入字段会在每个双引号之前插入一个反斜杠 ("")。例如,“19”轮子”变为“19”轮子”。经过进一步调查,发现此问题是由于服务器上启用了“magic_quotes”而引起的。禁用“magic_quotes”将需要 root 访问权限。
解决方案:
要解决此问题,请在受影响的文本上使用以下带有“stripslashes”的代码片段,特别是如果“magic_quotes”在服务器上启用:
if(get_magic_quotes_gpc()) { $your_text = stripslashes($your_text); }
应用此后代码中,您可以像往常一样继续处理“$your_text”变量。
其他信息:
魔术引号是一种 PHP 配置设置,会在某些字符前自动添加反斜杠,包括引号和反斜杠。虽然它们的目的是防止 SQL 注入攻击,但它们现在被认为已经过时,并且可能导致比它们解决的问题更多的安全问题。
如果您的开发环境允许,通常建议禁用魔术引号。这可以通过更新 PHP 配置或使用上面提供的代码片段删除由魔术引号设置添加的任何额外反斜杠来完成。
以上是如何修复 PHP 表单数据中引号前出现的反斜杠?的详细内容。更多信息请关注PHP中文网其他相关文章!