【发布时间】:2020-07-18 03:12:20
【问题描述】:
我遇到的情况是,我的一个旧代码正在使用 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()函数也能正常工作吗?
【问题讨论】:
-
由于 PHP 不再为请求参数添加斜杠 (removed in PHP 5.4),
get_magic_quotes_gpc()总是 返回false。考虑到这一点,您不必对您的字符串做任何事情,它们应该始终是干净的。 -
我也想不出任何使用
addslashes()的正当理由。我不知道为什么你会有像你的第一个 sn-p 这样的代码,即使在 PHP 5.4 之前 -
@Phil 你的意思是 PHP 自己处理所有这些易受攻击的注入吗?
-
不,恰恰相反。 PHP 现在不再妨碍开发人员,而是由您来保护您的应用程序
-
保护什么以及防范什么漏洞?您的问题显示此代码没有任何用途。如果您依赖此代码来清理 SQL 查询参数,请改用准备好的语句。
标签: php deprecated php-7.4