Php 防止寄存器上的数据库溢出

Php 防止寄存器上的数据库溢出,php,mysql,security,flooding,Php,Mysql,Security,Flooding,我有一个小网页,你现在可以登录/注册。一切都完成了,但我想让服务器端对我来说更安全 目前,有一个输入验证,但如果输入正确,它将注册一个用户并发送验证电子邮件。我有点害怕有人会制造一些机器人,它会生成随机有效的输入并淹没我的数据库 我在考虑数据库中的IP地址表,这样我就可以限制一个IP只注册3-4个用户,但后来我意识到有很多本地ISP,它们使用一个公共IP来管理多个主机,这就不太好了。我也在考虑制作一些cookie,这样cookie将在5次注册后禁止用户使用一段时间,但用户可以轻松删除cookie

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

目前,有一个输入验证,但如果输入正确,它将注册一个用户并发送验证电子邮件。我有点害怕有人会制造一些机器人,它会生成随机有效的输入并淹没我的数据库

我在考虑数据库中的IP地址表,这样我就可以限制一个IP只注册3-4个用户,但后来我意识到有很多本地ISP,它们使用一个公共IP来管理多个主机,这就不太好了。我也在考虑制作一些cookie,这样cookie将在5次注册后禁止用户使用一段时间,但用户可以轻松删除cookie并重新开始

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

你有什么建议我怎么做?我想用php mysql编写,但如果有更好的方法用js或其他语言编写,我愿意听取建议。也许有人有过这样的经历?谢谢。

用于防止自动表单欺骗

术语CAPTCHA(用于区分计算机和人类的完全自动化公共图灵测试)由卡内基梅隆大学的路易斯·冯·安(Luis von Ahn)、曼努埃尔·布鲁姆(Manuel Blum)、尼古拉斯·霍珀(Nicholas Hopper)和约翰·朗福德(John Langford)于2000年创造

用于防止自动表单欺骗

术语CAPTCHA(用于区分计算机和人类的完全自动化公共图灵测试)由卡内基梅隆大学的路易斯·冯·安(Luis von Ahn)、曼努埃尔·布鲁姆(Manuel Blum)、尼古拉斯·霍珀(Nicholas Hopper)和约翰·朗福德(John Langford)于2000年创造


若你们觉得你们可以让用户回答一个小的附加问题,比如

2 + 9 = [ ]
这两个数字都是随机创建的,您可以在cookie中加密答案。。
如果您觉得可以让用户回答一个小的附加问题,例如

2 + 9 = [ ]
这两个数字都是随机创建的,您可以在cookie中加密答案。。
确保在加密答案时使用good
salt

验证码将停止自动表单发布验证码将停止自动表单发布是的,我也在考虑,但我的问题中没有包括它。谢谢你的回答。我尽我所能。我用过reCAPTCHA,一切都很好!我不想使用普通的验证码,因为它不太“用户友好”,但谷歌的reCAPTCHA是一件很棒的事情。谢谢你的建议!是的,我也在考虑,但我没有把它包括在我的问题中。谢谢你的回答。我尽我所能。我用过reCAPTCHA,一切都很好!我不想使用普通的验证码,因为它不太“用户友好”,但谷歌的reCAPTCHA是一件很棒的事情。谢谢你的建议!