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

前端之家收集整理的这篇文章主要介绍了php – 什么情况需要使用eval(),因为没有其他选择?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道为了速度和安全性原因,应该避免在 JavaScript中使用eval.但就PHP而言,很少提及安全性.更常见的是,由于使用了eval,因此你的程序运行速度比它应该慢.

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

为清楚起见:

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

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

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

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

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

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

猜你在找的PHP相关文章