文章詳情頁
spring - java怎么寫一個接口只讓app調用?
瀏覽:142日期: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. PC端訪問卻變成移動端地址問題#python#scrapy2. javascript - 京東首頁如何實現pc端和移動端加載不同的html的?3. javascript - 阿里云虛擬主機怎么運行webpack打包的vue餓了么web-app4. angular.js使用$resource服務把數據存入mongodb的問題。5. javascript - uc、qq、搜狗 以上三個手機瀏覽器判斷移動端的js代碼不執行6. python - nginx+uwsgi啟動提示 nginx: [emerg] unknown directive "socket"?如何解決?7. python3.x - python3.5使用pyinstaller打包報錯找不到libpython3.5mu.so.1.0等文件求解?8. python round 四舍五入?9. python - 請問django的orm能否獨立拿出來使用?例如在非web程序中使用10. mysql優化 - mysql like語句會導致全表掃描?
排行榜
