文章详情页
spring - java怎么写一个接口只让app调用?
浏览:100日期: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. objective-c - 从朋友圈跳到我的APP 如何实现?2. java - PHP开发微信无法获取到signature,timestamp,nonce3. 请教一个python字符串处理的问题?4. HTML5禁止img预览该怎么解决?5. 怎么可以实现在手机浏览器看到链接的title属性,就是鼠标放上去会有一个tip效果的6. 如何分别在Windows下用Winform项模板+C#,在MacOSX下用Cocos Application项目模板+Objective-C实现一个制作游戏的空的黑窗口?7. 网页爬虫 - python爬虫用BeautifulSoup爬取<s>元素并写入字典,但某些div下没有这一元素,导致自动写入下一条,如何解决?8. html5 - h5+中webview的show方法有延迟9. javascript - vscode alt+shift+f 格式化js代码,通不过eslint的代码风格检查怎么办。。。10. javascript - html 中select如何修改样式,鼠标悬浮时改变option样式,有没有插件啊
排行榜
