lykss
2015-12-31 21:58:36
對于前后端完全分離的網(wǎng)站,后端采用PHP向前端輸出json格式的數(shù)據(jù),而前端通過ajax向后端調用接口獲取數(shù)據(jù)。這種情況下,后端的接口如果沒有采取一定的保護措施是很容易被其他人惡意調用來做一些非法操作。那么,現(xiàn)在在這種前后端完全分離的網(wǎng)站架構下有哪些主流的對后端接口保護的做法?我所知道的只有時間戳,希望慕課網(wǎng)的大大可以分享一下。
3 回答
已采納

I_尼克哇
TA貢獻56條經(jīng)驗 獲得超25個贊
如果只是時間戳就會被偽造。
并且需要根據(jù)不同應用場景來找解決方法:
ajax接口是php程序生成后輸出到前端頁面的(每次ajax請求接口之前是打開php頁面的),這個方法很簡單,后端使用時間戳+sign(通過一個key和時間戳md5加密的)去請求后端接口,每次驗證sign是否正確就可以了。這里需要注意打開網(wǎng)頁 和 ajax接口請求的時間間隔,請求后端驗證接口就是驗證這個的,sign是為了防止偽造時間戳。
對于一個網(wǎng)頁打開后,ajax請求是通過用戶 點擊或者其他動作觸發(fā)的,上面的方法不能徹底防止,或者他人通過抓取頁面后拿到的ajax接口也不能徹底防止??梢允褂脀ebsocket,來實時獲取接口,不過代價有點大,對于想玩技術的人可以試試。
對于抓取頁面獲取ajax接口后再頻繁請求ajax接口,也只能封ip了。
希望對你有幫助,其他同學有好的方法也可以互相探討下。
添加回答
舉報
0/150
提交
取消