I know eval
出于速度和安全原因,应避免在 JavaScript 中使用。但就 PHP 而言,很少有人提到安全性。更常见的是,由于随意使用,您的程序运行速度比应有的速度慢eval
.
在什么具体情况下应该使用eval
因为没有其他办法吗?
为了清楚起见:
我们不是在谈论用户提供的数据。所以问题集中在纯粹且完全控制的服务器端有效使用上eval
.
的安全问题eval
- 在 PHP 中使用 eval 来评估代码与在 Javascript 中是一样的:如果你评估一些代码,你必须确定它来自哪里,以及它包含什么。
安全隐患可能更大,因为 PHP 可以访问您的数据库(除其他外)- 这意味着它可以用来窃取/破坏您的应用程序所依赖的几乎所有信息!
在 Javascript 中,他们说“评估是邪恶的" ;这在 PHP 中可能和在 Javascript 中一样正确。
现在,关于您无法避免使用的特定情况eval
...好吧,在我日常工作的 4 年 PHP 开发中,我不记得曾经使用过eval
用我自己的代码^^
不过,还有您需要的情况示例eval
例如,当您将一些代码存储在数据库中,而不是将其缓存在文件中时(可以包括在内)-- 例如,某些允许在管理部分中输入部分 PHP 代码的 CMS 就会发生这种情况。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)