亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

php API項目

php API項目

眼眸繁星 2019-03-01 10:50:00
做了一個api接口項目,這個api是向純前端開放的,后端如何驗證前端帶來的數據,不被非法調用呢?因為前端JS數據都會暴露的,如何驗證?
查看完整描述

3 回答

?
MMMHUHU

TA貢獻1834條經驗 獲得超8個贊

需要登錄的,驗證登錄信息。
不需要登錄的,沒法驗證。

人家能訪問你的頁面,而你的頁面又訪問了你的接口,

人家直接訪問你的接口
有什么區別?

如果不想接口被直接訪問,你可以考慮判斷一下訪問來源,來自哪個域名;或者打開頁面的時候生成一個token,訪問接口的時候驗證這個token.

但這些都不能從根本上解決問題。
從根本上說就是你頁面能用的接口,別人也是可以訪問到的,所以,頁面中不需要使用的數據,你就盡量不要給了。

查看完整回答
反對 回復 2019-03-01
?
智慧大石

TA貢獻1946條經驗 獲得超3個贊

先說句題外話。
接口不可能隱藏起來不被別人調用,要做的就是做好用戶權限控制,即使這樣,只要前端提交數據帶上了憑證(cookie,token)以及做檢測的字段,后端是發現不了是不是非法調用的。就像百度貼吧防止灌水一樣,只有將幾個跟登錄有關參數提交給后臺,還是可以直接使用API發帖子

根據你的情況,前后端分離,個人不建議使用cookie,session做控制,使用token好一點:

  1. 前端使用賬號密碼登錄,登錄成功,后端生成token,寫入數據庫,有效期暫定兩小時吧,返回給前端

  2. 前端在http headers中添加Authorization: [Token]訪問接口

  3. 后端拿出token跟數據庫比對,取出用戶信息,如果驗證不通過,返回403

查看完整回答
反對 回復 2019-03-01
  • 3 回答
  • 0 關注
  • 589 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號