文章詳情頁
spring - java怎么寫一個接口只讓app調(diào)用?
瀏覽:97日期:2023-12-12 16:24:51
問題描述
只能在app內(nèi)進行調(diào)用,不能在web端調(diào)用。
我好像聽說有這個東西。我用的是spring mvc框架,不知道怎么實現(xiàn)這樣的功能。。
問題解答
回答1:只能說做到部分禁止。
在app里調(diào)用之前設置一個特殊的User Agent,比如“My own app”,在程序開始檢查瀏覽器發(fā)過來的User Agent,如果不是“My own app”,則直接報錯。
但是如果遇到高手,他們可以任意偽造User Agent,他們只要一攔截你的App和你的服務器之間的通訊,就能知道你使用了什么樣的User Agent,然后在瀏覽器里偽造一個跟你要求的一模一樣的字符串就行了。
回答2:獲取當前時間然后加鹽加密,通過url或者ua發(fā)送到服務器解析,解析出來與服務器時間對比,超過1分鐘的都扔掉。這樣別人就算偽造了ua,也只能用1分鐘,然后再去偽造新的ua。
回答3:https客戶端認證
回答4:如果使用http接口的話,不妨加一層認證邏輯;或者使用非http接口,這樣web端就無法調(diào)用了
回答5:終級方案就是@markov 說得開啟服務端https的雙向認證。簡單點,也可以app生成校驗碼做為http header傳給服務器,服務端拿到校驗碼解密后校驗。
標簽:
java
相關文章:
1. 使用text-shadow可以給圖片加陰影嗎?2. angular.js - angularjs如何傳遞id給另一個視圖 根據(jù)id獲取json數(shù)據(jù)?3. 數(shù)據(jù)庫無法進入4. java - HashSet<int> 為何有錯誤?5. java - StringBuffer轉成String,可以不同過tostring,而是通過+“”的方式轉換嗎?6. mysql - 記得以前在哪里看過一個估算時間的網(wǎng)站7. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?8. 請問一下各位老鳥 我一直在學習獨孤九賤 現(xiàn)在是在tp5 今天發(fā)現(xiàn) 這個系列視頻沒有實戰(zhàn)9. select - mysql怎么搜索一個字符串指定位置之后兩位10. python - linux怎么在每天的凌晨2點執(zhí)行一次這個log.py文件
排行榜

熱門標簽