加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 13:37:02 所属栏目:PHP教程 来源:网络整理
导读:我知道为了速度和安全性原因,应该避免在 JavaScript中使用eval.但就PHP而言,很少提及安全性.更常见的是,由于使用了eval,因此你的程序运行速度比它应该慢. 在什么特定情况下你应该使用eval,因为没有别的办法吗? 为清楚起见: 我们不是在谈论用户提供的数据.
我知道为了速度和安全性原因,应该避免在 JavaScript中使用eval.但就PHP而言,很少提及安全性.更常见的是,由于使用了eval,因此你的程序运行速度比它应该慢.

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

为清楚起见:

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

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

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

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读