gpt4 book ai didi

php - PHP 7.4不推荐使用get_magic_quotes_gpc函数替代

转载 作者:行者123 更新时间:2023-12-02 11:27:23 28 4
gpt4 key购买 nike

我遇到的一种情况是,我的旧代码之一正在使用get_magic_quotes_gpc(),而最新的 PHP版本7.4中已弃用该代码。*

目前,我有这样的事情。

添加斜线

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

删除斜线

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

这显然给错误

Deprecated: Function get_magic_quotes_gpc() is deprecated



问题:

我该如何解决?因此,无需使用 get_magic_quotes_gpc()函数就可以正常工作吗?

最佳答案

您需要从代码中删除对此功能的所有提及,并且不要将其替换为其他任何内容。

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

即使您自己也很可能不知道为什么您的项目中有这行代码。我知道我在学习PHP时就被它愚弄了。现实情况是您根本不需要它。此功能与安全性无关,输入清理的概念是荒谬的。

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

  • 使用参数化的准备好的语句与数据库进行交互。 PHP有一个非常好的库,称为PDO,可以与包括MySQL在内的许多数据库驱动程序一起使用。
  • 如果产生输出,则考虑该介质的规则,将输出逸出。例如,输出到HTML时,请使用htmlspecialchars()防止XSS。
  • 永远不要清理输入。没有任何一种神奇的解决方案可以保护您免受一切侵害。相反,作为开发人员,您必须意识到危险,并且需要知道如何保护代码。
  • 关于php - PHP 7.4不推荐使用get_magic_quotes_gpc函数替代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61054418/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com