V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
lygmqkl
V2EX  ›  问与答

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

  •  
  •   lygmqkl · Jan 31, 2020 · 556 views
    This topic created in 2282 days ago, the information mentioned may be changed or developed.
    场景是 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 减少公开接口数量, 部分功能限制用户登陆后才能使用, 这样非公开接口可以对用户访问频率进行限制, 一定程度上可以解决问题,但是也很麻烦,其实这里就是反爬虫了, 多帐号模仿一样防不住


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


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

    最后欢迎加入讨论。
    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2450 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 03:36 · PVG 11:36 · LAX 20:36 · JFK 23:36
    ♥ Do have faith in what you're doing.