Cod*_*ver 32 php deprecated php-7.4
我遇到的情况是,我的旧代码之一正在使用get_magic_quotes_gpc(),但在最新的PHP 版本 7.4 中已弃用。*
目前,我有这样的事情。
return get_magic_quotes_gpc() ? addslashes($string) : $string;
Run Code Online (Sandbox Code Playgroud)
return get_magic_quotes_gpc() ? stripslashes($string) : $string;
Run Code Online (Sandbox Code Playgroud)
这显然是在给出错误
已弃用:不推荐使用函数 get_magic_quotes_gpc()
题:
我该如何解决?那么可以在不使用get_magic_quotes_gpc()函数的情况下工作吗?
Dha*_*man 51
您需要从代码中删除所有提及此函数的内容,并且不要将其替换为其他任何内容。
get_magic_quotes_gpc()从 PHP 5.4.0 开始就没用了。它会告诉您是否在配置中打开了魔术引号。魔术引号是一个糟糕的主意,出于安全原因(PHP 开发人员相信魔术和迷信并编写不安全的代码),此功能已被删除。
很可能连您自己都不知道为什么您的项目中有这行代码。我知道我在学习 PHP 时被它愚弄了。事实是你根本不需要它。此功能与安全无关,输入清理的概念很荒谬。
相反,依靠良好的安全指南。
htmlspecialchars()以防止 XSS。小智 13
get_magic_quotes_gpc()用。。。来代替false。
然后通过删除无法到达的分支来简化复杂的表达式。例如
return get_magic_quotes_gpc() ? addslashes($string) : $string;
Run Code Online (Sandbox Code Playgroud)
变得简单
return $string;
Run Code Online (Sandbox Code Playgroud)