文章詳情頁
spring - java怎么寫一個接口只讓app調(diào)用?
瀏覽:73日期:2023-12-12 16:24:51
問題描述
只能在app內(nèi)進行調(diào)用,不能在web端調(diào)用。
我好像聽說有這個東西。我用的是spring mvc框架,不知道怎么實現(xiàn)這樣的功能。。
問題解答
回答1:只能說做到部分禁止。
在app里調(diào)用之前設(shè)置一個特殊的User Agent,比如“My own app”,在程序開始檢查瀏覽器發(fā)過來的User Agent,如果不是“My own app”,則直接報錯。
但是如果遇到高手,他們可以任意偽造User Agent,他們只要一攔截你的App和你的服務(wù)器之間的通訊,就能知道你使用了什么樣的User Agent,然后在瀏覽器里偽造一個跟你要求的一模一樣的字符串就行了。
回答2:獲取當前時間然后加鹽加密,通過url或者ua發(fā)送到服務(wù)器解析,解析出來與服務(wù)器時間對比,超過1分鐘的都扔掉。這樣別人就算偽造了ua,也只能用1分鐘,然后再去偽造新的ua。
回答3:https客戶端認證
回答4:如果使用http接口的話,不妨加一層認證邏輯;或者使用非http接口,這樣web端就無法調(diào)用了
回答5:終級方案就是@markov 說得開啟服務(wù)端https的雙向認證。簡單點,也可以app生成校驗碼做為http header傳給服務(wù)器,服務(wù)端拿到校驗碼解密后校驗。
標簽:
java
相關(guān)文章:
1. 一個走錯路的23歲傻小子的提問2. angular.js - angularjs 使用鼠標懸停時,標簽一直閃3. 我在centos容器里安裝docker,也就是在容器里安裝容器,報錯了?4. 在mac下出現(xiàn)了兩個docker環(huán)境5. angular.js - angularjs的自定義過濾器如何給文字加顏色?6. c++ - win764位環(huán)境下,我用GCC為什么指針占8個字節(jié),而long是4個字節(jié)?7. java - Hibernate查詢的數(shù)據(jù)是存放在session中嗎?8. python 計算兩個時間相差的分鐘數(shù),超過一天時計算不對9. html5 - HTML代碼中的文字亂碼是怎么回事?10. python - django 里自定義的 login 方法,如何使用 login_required()
排行榜

熱門標簽