这是一个创建于 1717 天前的主题,其中的信息可能已经有所发展或是发生改变。
场景是 A(SPA 程序) 调用 B(RESTful API), 调用的过程中无需加密也无需登陆等 token 校验,想实现一种类似强制只有 A 才可以调用的思路,但是目前没有任何头绪,因为是 JS 级代码,任何 encode 貌似都苍白无力
已经思考过的
No.1 请求的 url 里加 hash 校验,但是 hash 加密在 js 完成,基本就等于明文
No.2 CORS 之类的 original 校验, 但是貌似这个是可以被篡改的
No.3 在 https 协议上做点文章, 但是貌似没有特别好的方案
备选方案
No.1 定期更新加密方式, 比如按照周或者月更新, 但是还是明文方式所以基本上没啥意义
No.2 减少公开接口数量, 部分功能限制用户登陆后才能使用, 这样非公开接口可以对用户访问频率进行限制, 一定程度上可以解决问题,但是也很麻烦,其实这里就是反爬虫了, 多帐号模仿一样防不住
本意是做一个公开免费的程序,但是实际运行下来,出现不少人从接口拉数据,然后去做一些恶心的事情, 所以想有没有可能进行限制?
另外因为是免费程序基本没啥收益,所以如果校验成本太高也不考虑了。
最后欢迎加入讨论。