先说个反常识的:免登录工具最大的风险,不是没人用
这几天翻市场里的分享,看到一个免费美股预测台,介绍写得很克制:读公开日线,三票 ensemble 出方向,数据不够就报错不编数字。最戳我的是最后那句——“每个浏览器每天8次,不用绑卡”。
就这一句,我盯着看了半天。因为它不是产品卖点,是一道防线。
做过免登录小工具的人应该懂这个感觉。你想让用户打开就能用,不要注册、不要绑卡、不要那些劝退的弹窗。
市场里这类东西一大把,有免登录带 FSRS 的英语学习工具,有把 YouTube 视频转成文字的小站,都是打开即用的路子。体验是真好,但只要背后接了模型 API,这就等于把一个花钱的水龙头放到公网上,还不上锁。
我第一次踩这个坑的时候特别蠢。做了个小翻译工具,纯前端调模型,觉得反正没人知道。
上线第三天,后台调用量突然翻了几十倍——不是火了,是被某个脚本盯上了,循环请求。那账单待核实具体数字,反正当时我是手抖着去后台把服务关了的。
别一上来就做登录系统,那是用大炮打蚊子
出事之后我第一反应是:加登录呗,有账号就能限额了。
后来冷静下来想,不对。你做免登录工具,图的就是那个“打开就能用”的转化率。
你一加登录,注册流程、密码找回、验证码、隐私协议全跟上来了,用户流失一大半,还多养一套账号体系。为了防几个刷子,把最核心的体验砍了,这买卖不划算。
更别提账号体系本身也是坑。市场里那个 ChatGPT 代充的帖子,光讲怎么处理用户的 session 凭证就写了一大段——一旦你手里握着用户的敏感信息,责任和风险全上来了。
免登录工具最大的优势,就是你根本不碰这些东西。
所以我的判断很明确:限流不等于登录。我要的不是“认出你是谁”,我要的是“摁住你今天点了几次”。
这两件事可以拆开。
前端那点小把戏,拦不住真想刷你的人
想省事的第一念头,肯定是前端 localStorage 记个次数,超了就禁用按钮。
我劝你别信这个。前端能看到的东西,用户全能改。
localStorage 清一下就重置了,无痕窗口开一个又是新的,稍微懂点的人直接绕过你的页面,拿着接口地址自己发请求,你那个禁用按钮跟没有一样。
那个预测台写的是“每个浏览器每天8次”,注意,是限制到调用这一层的,不是页面按钮层。前端的次数提示只是给正常用户看的礼貌,真正的闸门必须在后端。
这条边界我踩过两次才认清:花钱的动作发生在后端,限流就必须在后端做,前端做的一切都只是装饰。
我的方案:一张计数账本,逐条核对
想通这点之后,方案其实简单得可笑。核心就一张表,我管它叫计数账本。
每次有人调用工具,我先算一个标识——不是账号,是一个能大致代表“这个浏览器 + 今天”的键。比如把请求里能拿到的浏览器指纹信息做个哈希,再拼上当天日期,组成一个 key。
然后去账本里查这个 key 今天记了几次,超过上限就直接拒绝,没超就放行并且计数加一。
这段逻辑我是用 Python 写的,判断、计数、返回错误,几十行就够。写完可以直接在Python在线运行里跑一遍,把边界情况过一遍:第一次调用、刚好第8次、第9次被拒、跨天之后是不是重新计数。
不用等部署上线,当场就能看到返回对不对。
计数账本我落在了 SQLite 里。为什么不用内存变量存?
因为内存里的计数一重启就没了,刷子重启你的服务就能刷新额度,等于没防。落到数据库里才是真的账本。
表结构也简单:一个 key 字段、一个日期字段、一个次数字段,加个联合唯一约束,每来一次请求就 upsert。
调试阶段我几乎是趴在数据上看的。用SQLite编辑器直接打开那张表,一行行看谁在什么时候点了多少次,比对着日志核。
有一次发现某个 key 的次数涨得异常快,翻出来一看果然是同一个来源在密集打,这时候你才知道限流是真在干活。
从“能跑”到“公网能用”,中间那步别省
本地跑通只是开始。工具最终得挂到一个公网地址,用户点开链接就能用,限流逻辑才算真正上岗。
我把整个东西做成了一个 Web 应用,前端一个输入框加结果展示,后端一个接口接住请求、走一遍计数账本、再去调模型。前端页面部分可以直接托管发布,做成一个能分享出去的公网地址。
这一步我用Web应用托管把静态页面发出去,后端接口单独托管成一个端点,前端调它。用户完全不知道背后有张账本在数着他,体验还是那个“打开就能用”。
这里有个安全上的提醒得说在前面:你把接口暴露到公网,限流是最低限度的保护,不是全部。至少确认一下这个端点除了次数限制之外,有没有别的滥用面——比如有没有人能构造异常输入把你的模型调用撑爆。
免登录不代表不设防,只是把“防”从账号挪到了行为层。
跟“算钱”是两件事:这次是拦人,不是记账
我之前写过怎么给 AI 工具做成本记账,把每次调用花了多少钱记下来,那是事后算账、知道自己烧了多少。这篇讲的是另一回事——事前拦人。
记账是让你心里有数,限流是不让坏账发生。两个都得有,但顺序上,限流更急。
因为记账再清楚,账单爆了也是爆了;限流做在前面,坏事根本发生不了。免登录工具尤其是这样,你没有账号这道天然的门槛,那张计数账本就是你唯一的门。
说真的,做免登录工具最容易犯的错,就是把全部心思花在“怎么让人更方便地用”,忘了“怎么不让人往死里用”。那个预测台一句“每浏览器每天8次”,背后是有人认真想过这条边界的。
今天就能做的一个小动作
如果你手上正好有个免登录的 AI 小工具,别急着加功能。先做一件事:打开后端代码,找到调用模型的那一行,问自己——在这行之前,有没有一道闸门?
没有的话,先加一张最简单的计数表,key 用“浏览器标识+日期”,上限随便先设个8次或10次,超了就拒。哪怕逻辑再糙,也比裸奔强。
等跑起来了,再慢慢调阈值、看账本、优化标识算法。
先把门装上,比什么都重要。