微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 什么情况需要使用eval(),因为没有其他选择?

我知道为了速度和安全性原因,应该避免在 JavaScript中使用eval.但就PHP而言,很少提及安全性.更常见的是,由于使用了eval,因此你的程序运行速度比它应该慢.

在什么特定情况下你应该使用eval,因为没有别的办法吗?

为清楚起见:

我们不是在谈论用户提供的数据.因此,问题集中在纯粹和完全受控的服务器端有效使用eval.

PHP中使用eval评估代码的安全性问题与Javascript中的相同:如果您评估某些代码,则必须确定它来自何处,以及它包含的内容.

安全影响甚至可能更大,因为PHP可以访问您的数据库(以及其他内容) – 这意味着它可以用来窃取/破坏您的应用程序依赖的几乎所有信息!

在Javascript中,他们说“eval是邪恶的”;它在PHP中可能也是如此,它在Javascript中也是如此.

现在,关于你无法避免使用eval的具体情况……好吧,在PHP开发中作为我的日常工作4年,我不记得曾经在我自己的代码中使用过eval ^^

你需要eval的情况的例子仍然是你在数据库中存储一些代码,而不是在文件中缓存它(可能包括在内) – 这种情况发生在一些允许部分PHP代码的CMS中例如,在管理部分输入.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐