JSON其实并不像我们认为的那样完全安全,黑客可以通过JSON数组中的跨站点请求伪造(CSRF)从不知情的用户那里获取敏感的用户数据。
这主要是公开包含JSON数组、敏感数据、响应GET请求、启用JavaScript的请求、支持_u defineSetter_方法的请求的JSON服务。
那么如何防止JSON漏洞,防止JSON劫持,即:防止CRSF攻击,达到保护敏感数据的目的,这就是本篇文章要给大家介绍的。
1、所有请求方法都必须是POST并阻止您的代码只接受POST请求(这是最重要的)
$ .ajax({ url:'http://yourdomainname.com/login', dataType:'json', data:JSON.stringify(dataObject), contentType:'application / json; charset=utf-8' , type: 'POST', success:function(jsonData){ //成功回调 }, error:function(){ //要处理的任何错误 } });
2、在请求中添加唯一的CSRF令牌可防止应用程序进行cookie劫持和错误请求。
3、始终在请求中使用安全传输协议(HTTPS)。
4、在提供对请求的响应之前,检查特殊标头,例如X-Requested-With:XMLHttpRequest或Content-Type:application / json。
5、管理用户访问日志来检查哪些用户活动。
6、使用API和结束URL身份验证来验证当前端点。
7、使用基于令牌的API访问,例如JSON Web Tokens(JWT)。
8、实现错误处理,不要在API调用中提供任何技术细节。
总结: