如何保护手机客户端与服务端交互的url

发布于 2022-08-30 01:06:20 字数 130 浏览 30 评论 0

手机app被反编译后(或直接抓包),app与服务器端交互的url就被暴露了,别人也就可以使用这些url做任何事情了。
如何才能保护这些url不被其他人使用呢?

注:这些url是不需要用户登录的,需要用户登录的比较好处理

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

っ〆星空下的拥抱 2022-09-06 01:06:20

作为一个游戏开发者,我们是在 http 上自己再做了一层协议封装,外部看来都是在访问一个 url,其实 body 里加密的内容中包含了真实的 url,服务器会根据真实 url 路由到实际的处理函数。

游戏外挂比较多且讨厌,才不得已用此策略。如果只是一个 app,感觉大可不必如此担心 url 暴露,想想那么多网站,url 都是大大方方的写在浏览器地址栏里的,是否安全是靠业务的健壮性保证的,而不是隐藏 url。

Update:

如果要求 url 可以被自己的设备访问但是不要随便被其他人公开访问,那么可能不可避免的需要引入“设备登录”概念了,跟游戏有些类似了。

具体来说就是 app 第一次启动时会生成一个全局唯一 UUID,以此作为用户名到服务器登录,登录密钥是写死在程序里的,当然要尽量保密不能被截获、解密或猜出来。设备必须先用这个 UUID 登录并获得某种 token 之后才能访问服务器资源,也就是说服务器端根本不存在任何可以随意访问的 url,一切都需要在某种 token 的保护之下才行。

尹雨沫 2022-09-06 01:06:20

oauth2.0 认证可以解决你的问题,所有与服务端交互的app都要传token

梅倚清风 2022-09-06 01:06:20

人家不反编译,用抓包的方式也能看到。我们日常做app的接口,访问都是需要token来认证的,或者用其他的验证协议。你可以看看许多云平台的API认证方式,人家都是暴露出来的。

只等公子 2022-09-06 01:06:20

数字签名可以保护你 auth相对而言有点复杂对于一般应用而言,可以做一个类似的restfull api接口,并附加数字签名,保证每条请求的签名唯一性就可以了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文