gpt4 book ai didi

ajax - AJAX 检查用户名功能的安全性

转载 作者:行者123 更新时间:2023-12-04 05:47:04 28 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它.

去年关闭。




Improve this question




我们的注册表单上有使用 AJAX 调用来检查用户名是否可用的功能。

这很简单

  • 调用我们的服务电话
  • 对照数据库检查用户名
  • 如果找到用户名记录,则返回,否则返回可用。

  • 一旦用户停止输入几秒钟,我们就会执行对我们服务的调用。

    然而,我们的问题是,攻击者可以对我们的服务使用某种蛮力手段并编译我们所有用户名的列表。

    有谁知道任何帮助防止这种“攻击”的好方法?

    我唯一能想到的就是预先要求验证码,但这不会是一个好的用户体验,并且可能会让人们无法填写我们的表格。

    如果它有帮助,我们正在使用 ASP.NET MVC、C#、SQL Server。

    任何帮助将不胜感激,谢谢!

    最佳答案

    我想最好的方法是限制它的速率,要么只允许用户一定数量的请求,要么给每个请求增加 0.5-1 秒的等待时间。通过执行其中任何一项操作,攻击者将很难在合理的时间内枚举出相当数量的用户名。

    但是,我认为保护您的应用程序的更好方法是将其视为每个人都已经拥有您的用户列表并从那里开始工作。假设攻击者了解您的所有用户,您将如何防范暴力攻击?通过速率限制密码尝试。通过每 10 分钟左右只允许几次密码尝试,您将大大保护您的应用程序的用户。

    我个人认为所有非显而易见的密码(例如“密码”和“qwerty”)都应该是安全的 - 例如,“soccerfan”应该是安全密码。为什么?因为您不会立即猜测“足球迷”。它可能在你的暴力破解者字典中排在第 100 位左右,当他们猜测尝试使用接近该数量的任何地方登录时,他们应该被禁止并且应该已经通知用户。 (顺便说一句,我并不是建议人们应该使用这样的密码,越复杂越好)。

    关于ajax - AJAX 检查用户名功能的安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10553706/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com