“每个引号前都有斜杠”Enigma
您在 PHP 脚本中遇到了一个特殊问题:每当表单提交给自身时对于包含双引号的值,它会在每个值之前添加一个反斜杠。此行为归因于 PHP 臭名昭著的“魔术引号”功能。
魔术引号会自动转义某些字符(包括双引号),以防止恶意注入。虽然这看起来像是一种安全措施,但它也可能会导致与您遇到的问题类似的问题。
要解决此问题,请将以下代码片段合并到您的脚本中:
if (get_magic_quotes_gpc()) {
$your_text = stripslashes($your_text);
}
get_magic_quotes_gpc() 函数检查是否启用了魔术引号。如果是这样,则 stripslashes() 函数会从文本中删除多余的反斜杠。
禁用魔术引号的风险
您已表明您拥有对您的文本的 root 访问权限服务器并正在考虑禁用魔术引号。了解潜在风险非常重要:
结论
虽然禁用魔术引号可以解决您当前的问题,但它是对于实施强大的输入验证和卫生实践以防止安全漏洞至关重要。在做出此决定之前,请仔细权衡潜在风险,并确保您的代码始终安全,无论魔术引号的状态如何。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3