文章詳情頁
spring - java怎么寫一個接口只讓app調用?
瀏覽:130日期:2023-12-12 16:24:51
問題描述
只能在app內進行調用,不能在web端調用。
我好像聽說有這個東西。我用的是spring mvc框架,不知道怎么實現這樣的功能。。
問題解答
回答1:只能說做到部分禁止。
在app里調用之前設置一個特殊的User Agent,比如“My own app”,在程序開始檢查瀏覽器發過來的User Agent,如果不是“My own app”,則直接報錯。
但是如果遇到高手,他們可以任意偽造User Agent,他們只要一攔截你的App和你的服務器之間的通訊,就能知道你使用了什么樣的User Agent,然后在瀏覽器里偽造一個跟你要求的一模一樣的字符串就行了。
回答2:獲取當前時間然后加鹽加密,通過url或者ua發送到服務器解析,解析出來與服務器時間對比,超過1分鐘的都扔掉。這樣別人就算偽造了ua,也只能用1分鐘,然后再去偽造新的ua。
回答3:https客戶端認證
回答4:如果使用http接口的話,不妨加一層認證邏輯;或者使用非http接口,這樣web端就無法調用了
回答5:終級方案就是@markov 說得開啟服務端https的雙向認證。簡單點,也可以app生成校驗碼做為http header傳給服務器,服務端拿到校驗碼解密后校驗。
標簽:
java
相關文章:
1. css - 移動端 oppo 手機之 Border-radius2. javascript - vue提示語法錯誤,請問錯誤在哪?3. 淺談vue生命周期共有幾個階段?分別是什么?4. index.php錯誤,求指點5. python - 抓包只抓到json,真實的地址卻找不到6. css - 關于偽類背景問題7. html - JavaScript的Dom操作如何改變子元素的文本內容8. java - web端百度網盤的一個操作為什么要分兩次請求服務器, 有什么好處嗎9. javascript - 為什么我的animation-fill-mode 設置不生效10. javascript - vue.js如何遞歸渲染組件.
排行榜
