据我所知eval()
,由于安全性,JavaScript中的JSON对象被认为是不好的做法.如果JSON来自另一台服务器,我可以理解这种担忧.
但是如果JSON是由我自己的服务器提供的并且是使用PHP创建的json_encode
(让我们假设它没有错误),那么简单地用于eval()
读取JS中的JSON 是否合法,或者是否存在我目前无法想到的任何安全问题?
我真的不想处理动态加载JSON解析器,并且很乐意简单地使用eval()
.
PS:我显然会使用本机JSON
对象,如果它可用,但想要回归到eval()
IE/Opera.
在你的场景中,问题变成了,PHP从哪里获取javascript来执行?这个频道是否安全,并且没有潜在的用户操纵?如果您不直接控制该频道怎么办?
您可以通过多种方式破坏您的安全性.
理论上,中间人攻击可以改变传递给客户端的数据内容.
您的服务器流量可以在其他地方截获,并且可以提供不同的内容(与MIM攻击不完全相同)
您的服务器可能会受到攻击,数据源可能会被篡改.
这些只是简单的例子.XSS很讨厌.
"一盎司的预防值得一磅治疗"