1
lhx2008 OP 没人说一下吗
|
2
chinvo 2018-07-23 01:03:47 +08:00 via iPhone 1
保障不了绝对的安全,即使编译到 binary 也能抓出来,所以只能从两方面入手:
1、在业务逻辑设计上,尽量降低泄露可能带来的风险,最终目的是能保障 session 不泄漏的前提下只有用户本人能访问敏感数据; 2、混淆等技术手段提升破解难度; 3、反爬虫措施降低 key 泄露之后滥用的风险。 另外最近国外有个 Approv.io 做“ Application Authentication ”,功能是“保障访问 API 的应用是官方应用”,具体逻辑没看,但是原理上应该是签名核验和冲击认证。 |
3
chinvo 2018-07-23 01:12:11 +08:00 via iPhone 1
另外在现在 API 的设计哲学中,即使用了非原始客户端,只要保障拿到敏感数据的人是最终用户本人,就认为接口是安全的。
对于银行等敏感应用,会加大量逻辑去提高 修改原始客户端 /开发第三方客户端 的难度,引入大量校验,同时对 App 版本、API 版本进行严格的管理,一旦发现某个版本 App/API 被破解,立刻在服务器端吊销访问权限。 |
4
rogwan 2018-07-23 06:59:54 +08:00 via Android
为什么要把 key 也放进客户端里?用 token 不能解决吗?
|
5
lhx2008 OP 后端云直接把查库逻辑写到前端了,查用户信息也在前端,不是典型的前后端分离设计
|