一尘不染

为什么不使用eval()JSON?

json

据我所知eval(),由于安全性,在JavaScript中使用JSON对象被认为是不好的做法。如果JSON来自其他服务器,我可以理解此问题。

但是,如果JSON是由我自己的服务器提供的,并且是使用PHP创建的json_encode(我们假设它不是越野车),那么简单地使用eval()JS中的JSON读取是否合法,或者我目前无法想到任何安全问题?

我真的不想处理动态加载JSON解析器的问题,因此很高兴使用eval()

PS:很明显,我将使用本机JSON对象(如果有),但希望eval()使用IE / Opera。


阅读 188

收藏
2020-07-27

共1个答案

一尘不染

有很多方法可能会破坏您的安全性。

  • 理论上,中间人攻击可以改变传递给客户端的数据内容。
  • 您的服务器流量可能在其他地方被拦截,并且可能提供不同的内容(与MIM攻击不太一样)
  • 您的服务器可能受到威胁,数据源可能被篡改。

这些只是简单的例子。XSS很讨厌。

“一盎司预防胜于一磅治疗”

2020-07-27