使用验证码限制节点
是否有任何快速解决方案可以使用验证码模块(或其他类似的方式)限制对一个节点(页面)的访问?
is there any quick solution to restrict access to one node (page) with a captcha module (or some other, similar way)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您的意思是允许用户在通过验证码后访问节点,那么没有任何模块可以实现这一点。
如果我理解你的意思,模块应该显示验证码,如果答案正确,那么应该显示节点。
您可以使用 CAPTCHA 模块创建自定义模块。
If you mean to allow a user to access a node if he passes a CAPTCHA, then there isn't any module for that.
If I understood what you mean, the module should present a CAPTCHA, and if the answer is correct, then the node should be shown.
You can create a custom module using the CAPTCHA module.
如果您的目的是阻止机器人,请尝试以下操作:
我之前使用过 "ddos" 只是为了阻止来自以前网站上的 IP 的过多请求。用法相当简单: -
在您的 app.js 中,添加
因此,ddos 的工作原理是维护从每个 IP 接收到的请求数量的内部计数。对于收到的每个请求,它都会增加计数器。在没有请求的情况下,每过一秒,之前的条目就会被删除。
现在,如果对于某个 IP,超出了限制(此处为 50),则会抛出 429 错误。从现在开始,每个后续请求都会以指定的突发速率(此处为 10)递增,直到内部计数器重置。
这是在您的网站上整合 Cloudflare 的下一个最佳选择。希望有帮助!
If your purpose is to block bots, try these:
I have used "ddos" earlier just to block too many requests from an IP on a previous website. The usage is fairly simple: -
In your app.js, add
So, how ddos works is it maintains an internal count of the number of requests it receives from each IP. For every request it receives, it increments the counter. And for every second that passes without a request, the previous entries are deleted.
Now, if for a certain IP, the limit (here, 50) is exceeded, 429 error is thrown. From here on in, every subsequent request increments at the specified burst rate (here, 10) until the internal counter resets.
This is the next best thing to incorporating Cloudflare on your website. Hope that helps!