在 PHP 中使用魔法引号处理“每个引号前都有斜杠”问题
您遇到了一个问题,您的 PHP 表单在前面添加了一个提交时每个双引号前都有“”字符。这可能是由于您的服务器上启用了“魔术引号”功能。
魔术引号会自动转义表单提交和其他输入数据中的某些字符,包括双引号。虽然此功能旨在防止 SQL 注入攻击,但它可能会导致数据完整性问题,并且通常被认为已经过时。
要解决此问题,您可以使用 stripslashes() 函数在处理之前删除不需要的斜杠文本。使用 stripslashes() 将以下条件添加到您的代码中:
<code class="php">if (get_magic_quotes_gpc()) { $your_text = stripslashes($your_text); }</code>
使用 stripslashes() 处理文本后,您可以正常使用生成的 $your_text 变量,并且它不会包含任何意外的斜杠。
关于禁用魔术引号:
正如您所提到的,您拥有服务器的 root 访问权限。通常建议禁用魔术引号来编写结构良好且安全的代码。禁用它的原因包括:
要禁用魔术引号,请编辑服务器的 php.ini 文件并将 magic_quotes_gpc 指令设置为 Off。更改完成后,重新启动您的网络服务器以使更改生效。
请记住在禁用魔术引号后彻底测试您的应用程序,以确保它仍然按预期运行。
以上是如何使用 PHP 的魔术引号解决表单提交中意外的斜杠问题?的详细内容。更多信息请关注PHP中文网其他相关文章!