在上一篇文章里,我介绍了 n8n webhook 的三种认证方式——API密钥、基础认证和 Bearer Token。但那些方案?仅仅适用于后端服务间的调用罢了。它们就像是服务器之间的"暗号",适合机器对机器的通信。
然而,当我们将 webhook 作为前端服务直接展现给用户时,游戏规则完全变了。用户不会记住复杂的 API 密钥,也不应该暴露这些敏感信息给浏览器。更关键的是,当你的服务 URL 暴露在公网上时,又该如何有效防止恶意自动化请求呢?
这个问题,比想象中更加棘手。
想象一下这样的场景:你精心搭建了一个 AI 翻译服务,用户可以通过网页上传文档并获得翻译结果。一切看起来完美,直到某天你发现 API 账单暴增——原来有人写了脚本在批量"薅羊毛"。传统的后端认证对此束手无策,因为攻击者根本不需要绕过任何认证,他们直接模拟用户行为就够了。
这就是我们今天要解决的问题。
一、背景
这几天准备给 MuleRun 提交一个工作流。原来我是采用 n8n 的 form 节点作为用户资料的提交。实话实说?默认表单样式实在太丑了!

虽然能通过样式修改,但效果依然不尽如人意。

没办法,后来还是通过 vibe coding 的方式搞出了一个表单界面,效果还是可以的。

怎么实现的?其实很简单,在 n8n 里通过 webhook 就能搞定,如下图所示:

为了更好的阅读体验,来飞书看吧:
https://rvfdqgohv5q.feishu.cn/wiki/P5GnwysKBiYp7skrqf4cbSVmndh
Comments on "3步解决n8n被薅羊毛:Turnstile验证拯救你的API账单" :