首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Node.js暴力破解

Node.js暴力破解
EN

Stack Overflow用户
提问于 2020-11-09 05:15:36
回答 1查看 270关注 0票数 0

我有一个在Heroku上运行的MERN堆栈项目,今天有人开始向我的服务器发送大量登录请求(暴力破解)。每个请求都有一个不同的IP地址,所以我不能阻止该IP。这导致了网站宕机。

那我怎么阻止它呢?我怎样才能只允许使用我的网站登录?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-09 05:39:49

您将看到许多登录页面使用的典型解决方案是几种技术中的一种,这些技术需要类似人类的交互,并且脚本很难复制。

您肯定已经看到过captcha systems,它要求用户解释一些对计算机来说不容易或不实用的图像。

还有一个no-captcha system,它要求用户用鼠标点击屏幕上的一个特定点,它会分析这个移动,看看它是否看起来像人类。这些通常显示为点击“我不是机器人”。

许多网站(如一些美国航空公司和一些金融网站)现在要求用户设置“挑战”问题(比如:“你出生在哪里?”或者“你最喜欢的冰淇淋口味是什么?”)如果登录请求到达时没有该用户先前放置的已签名cookie (或其他熟悉的浏览器检测指标),则在您尝试登录之前,甚至需要询问问题。

一种更严厉的方法(这可能对最终用户产生更大的影响)是跟踪每个帐户的失败登录尝试,在达到一定次数后,您开始放慢响应速度(这会降低攻击者系统的响应速度),在一些较高数量的失败响应之后,您会立即失败每个请求,并要求最终用户通过发送到其注册电子邮件地址的电子邮件消息确认其登录请求。这对最终用户来说是不方便的,但可以防止在没有最终用户确认的情况下对任何单个帐户进行超过N次的猜测。在一段时间后,您可以清除任何给定帐户的先前登录尝试次数,释放它以使其再次正常工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64743119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档