php - 使用 JS 和 PHP (MySQL) 实时检查用户名的安全性

标签 php jquery mysql ajax security

我看过很多关于在注册页面上创建功能的文章,其中用户名将在数据库中自动检查,以便用户可以知道他的用户名是否已被占用。然而,这对我来说似乎很没有安全感。我认为(不确定)黑客可能会淹没检查数据库的 PHP 脚本并使服务器过载。设置如下文章中描述的系统有哪些潜在的安全风险以及这些问题的解决方案是什么?我正在考虑诸如 DDoS 和暴力破解之类的事情,但我真的不知道。谢谢。

有关该主题的文章:

最佳答案

允许用户(或黑客)识别用户名存在的安全影响可能非常不同。实际上,对于用户枚举来说,用户名和电子邮件是相同的。那么,当有人尝试使用数据库中已存在的电子邮件进行注册时,我们该怎么办?我们会说“此电子邮件已被使用”吗?这也是用户枚举。我想说的是,对于注册过程中的枚举漏洞,我们没有 %100 的解决方案。

但你的问题不是这个,作为一名安全工程师,我们需要为“这个”功能找到一个像样的安全设计。

此类情况最常见的预防措施之一是“速率限制”。您可以阻止在一分钟内向您的/api/checkusername API 发送 30 个 HTTP 请求的 IP 地址。

关于php - 使用 JS 和 PHP (MySQL) 实时检查用户名的安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37824916/

相关文章:

javascript - 使用 JavaScript/jQuery 对数组进行表单验证

javascript - 在 javascript 中调用 php 文件不起作用

php - 在 CakePHP 3.x 中保存 HasMany 关联数据

javascript - 尽管将其放入 "Document Ready",但为什么我在加载页面时可以看到 jQuery 'append' 发生?

php - 在 MySQL 和 PHP/Laravel 中处理数百万条数据记录

php - Codeigniter 多对多错误

php - 获取特定运行的 PHP 脚本的 CPU 使用率

php oop 和 mysql

javascript - 单选按钮更改无法正常使用ajax

PHP 表单将多个输入作为 SQL 查询发送