JSON其實(shí)并不像我們認(rèn)為的那樣完全安全,黑客可以通過(guò)JSON數(shù)組中的跨站點(diǎn)請(qǐng)求偽造(CSRF)從不知情的用戶那里獲取敏感的用戶數(shù)據(jù)。
這主要是公開(kāi)包含JSON數(shù)組、敏感數(shù)據(jù)、響應(yīng)GET請(qǐng)求、啟用JavaScript的請(qǐng)求、支持_u defineSetter_方法的請(qǐng)求的JSON服務(wù)。
那么如何防止JSON漏洞,防止JSON劫持,即:防止CRSF攻擊,達(dá)到保護(hù)敏感數(shù)據(jù)的目的,這就是本篇文章要給大家介紹的。
1、所有請(qǐng)求方法都必須是POST并阻止您的代碼只接受POST請(qǐng)求(這是最重要的)
$ .ajax({ url:'http://yourdomainname.com/login', dataType:'json', data:JSON.stringify(dataObject), contentType:'application / json; charset=utf-8' , type: 'POST', success:function(jsonData){ //成功回調(diào) }, error:function(){ //要處理的任何錯(cuò)誤 } });
2、在請(qǐng)求中添加唯一的CSRF令牌可防止應(yīng)用程序進(jìn)行cookie劫持和錯(cuò)誤請(qǐng)求。
3、始終在請(qǐng)求中使用安全傳輸協(xié)議(HTTPS)。
4、在提供對(duì)請(qǐng)求的響應(yīng)之前,檢查特殊標(biāo)頭,例如X-Requested-With:XMLHttpRequest或Content-Type:application / json。
5、管理用戶訪問(wèn)日志來(lái)檢查哪些用戶活動(dòng)。
6、使用API和結(jié)束URL身份驗(yàn)證來(lái)驗(yàn)證當(dāng)前端點(diǎn)。
7、使用基于令牌的API訪問(wèn),例如JSON Web Tokens(JWT)。
8、實(shí)現(xiàn)錯(cuò)誤處理,不要在API調(diào)用中提供任何技術(shù)細(xì)節(jié)。
總結(jié):
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com