将JsonRequestBehavior设置为AllowGet时,可能会公开哪些“敏感信息”

将JsonRequestBehavior设置为AllowGet时,可能会公开哪些“敏感信息”,第1张

将JsonRequestBehavior设置为AllowGet时,可能会公开哪些“敏感信息”

假设您的网站具有

GetUser
网络方法

http://www.example.com/User/GetUser/32

返回JSON响应:

{ "Name": "John Doe" }

如果此方法仅接受POST请求,则仅当

http://www.example.com/User/GetUser/32
使用POST方法发出AJAX请求时,内容才会返回到浏览器。请注意,除非您实施了CORS,否则浏览器将保护数据免受来自其他域的请求。

但是,如果您允许GET请求,然后再使用GET而不是POST发出与上述类似的AJAX请求,则恶意用户可以通过使用

script
HTML中的标记将JSON包含在其自己的站点上下文中。例如
www.evil.com

<script src="http://www.example.com/User/GetUser/32"></script>

此Javascript应该没有用,

www.evil.com
因为应该没有办法读取Web方法返回的对象。但是,由于旧版本浏览器(例如Firefox
3)中的错误,可能会重新定义Javascript原型对象,并有可能
www.evil.com
读取方法返回的数据。这称为JSON劫持。

有关防止这种情况的一些方法,请参见这篇文章。但是,现代浏览器的更高版本(Firefox,Chrome,IE)不是已知问题。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5016557.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存