V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
lygmqkl
V2EX  ›  问与答

给 SPA(JS)调用的公开 RESTful API 有可能实现防盗链吗?

  •  
  •   lygmqkl · 2020-01-31 17:59:32 +08:00 · 302 次点击
    这是一个创建于 1608 天前的主题,其中的信息可能已经有所发展或是发生改变。
    场景是 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 减少公开接口数量, 部分功能限制用户登陆后才能使用, 这样非公开接口可以对用户访问频率进行限制, 一定程度上可以解决问题,但是也很麻烦,其实这里就是反爬虫了, 多帐号模仿一样防不住


    本意是做一个公开免费的程序,但是实际运行下来,出现不少人从接口拉数据,然后去做一些恶心的事情, 所以想有没有可能进行限制?


    另外因为是免费程序基本没啥收益,所以如果校验成本太高也不考虑了。

    最后欢迎加入讨论。
    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2809 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 14:38 · PVG 22:38 · LAX 07:38 · JFK 10:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.