防止寄存器上的数据库泛滥

时间:2016-02-03 20:16:46

标签: php mysql security flooding

我有一个小网页,您现在可以登录/注册。一切都完成了,但我想让它对我更安全 - 服务器端。

目前,您的输入已经过验证,但如果输入正确,则会注册用户并发送验证电子邮件。我有点害怕有人会制造一些机器人,这将生成随机有效输入并充斥我的数据库。

我正在考虑我的数据库中的IP地址表,所以我可以限制一个IP只注册3-4个用户,但是我意识到有很多本地ISP,它们使用一个公共IP用于多个主机它不会那么好。我正在考虑制作一些cookie,因此cookie会在5次注册后禁止用户一段时间,但用户可以轻松删除cookie并再次启动。

我有一个小小的cron工作,在一周后清理未经验证的用户,但这需要很多时间,所以这对我也没有帮助。

您有什么建议我该怎么办?我想用php-mysql编写它,但是如果有更好的方法用js或任何其他语言来做,我打开了建议。也许有人有这样的经历吗?谢谢。

2 个答案:

答案 0 :(得分:3)

使用CAPTCHA来防止自动表单欺骗。

  

CAPTCHA(完全自动化的公共图灵测试,以告诉计算机和人类除外)一词由Luis von Ahn,Manuel Blum,Nicholas Hopper和Carnegie Mellon大学的John Langford于2000年创造。

答案 1 :(得分:0)

如果您觉得可以要求用户回答一个小的附加问题,例如

2 + 9 = [ ]

这两个数字都是随机创建的,您可以在cookie中加密答案。 确保在加密答案时使用好salt