PHP 7.4 已弃用 get_magic_quotes_gpc 函数替代

2024-05-25

我遇到了我的旧代码之一正在使用的情况get_magic_quotes_gpc()最新版本已弃用PHP 版本 7.4.*

目前,我有这样的事情。

添加斜杠

return get_magic_quotes_gpc() ? addslashes($string) : $string;

删除斜线

return get_magic_quotes_gpc() ? stripslashes($string) : $string;

这显然给出了错误

已弃用:函数 get_magic_quotes_gpc() 已弃用

问题:

我该如何修复它?所以可以在不使用的情况下进行相同的工作get_magic_quotes_gpc()功能?


您需要从代码中删除所有提及此函数的内容,并且不要用其他任何内容替换它。

get_magic_quotes_gpc()从 PHP 5.4.0 开始就没用了。它会告诉您配置中是否打开了魔术引号。魔术引号是一个糟糕的主意,出于安全原因删除了此功能(PHP 开发人员相信魔术和迷信并编写了不安全的代码)。

很可能连你自己都不知道为什么你的项目中有这行代码。我知道我学PHP的时候就被它骗了。现实是你根本不需要它。该功能与安全性无关,输入清理的概念是荒谬的。

相反,请依靠良好的安全准则。

  • 使用参数化准备好的语句与数据库交互。 PHP 有一个非常好的库,称为 PDO,它可以与包括 MySQL 在内的许多数据库驱动程序一起使用。
  • 如果产生输出,则转义输出考虑到该媒介的规则。例如,当输出到 HTML 时使用htmlspecialchars()防止XSS。
  • 切勿清理输入。没有什么神奇的解决方案可以保护您免受一切侵害。相反,作为开发人员,您必须意识到危险,并且需要知道如何保护您的代码。不要尝试清理输入。转义输出。 https://benhoyt.com/writings/dont-sanitize-do-escape/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP 7.4 已弃用 get_magic_quotes_gpc 函数替代 的相关文章

随机推荐