gpt4 book ai didi

security - 防止机器人进行表单提交

转载 作者:行者123 更新时间:2023-12-01 01:30:13 27 4
gpt4 key购买 nike

在我的网站上,我提供了一个供访问者输入的表单。无需登录。我不能要求登录。所以任何浏览网站的人都可以提交表单。它还向机器人打开了表单。我需要阻止机器人。我在以下线程上问过这个问题。

Unwanted garbage input from bots?

我确实得到了一些有用的回应。我阅读了一些解决方案(验证码和非验证码)。

我的网站不是我获得大量流量的网站。我的用户不是非常精通计算机。所以我正在考虑做这样的事情。我不是一个很有成就的程序员,我在这里说的话可能非常愚蠢。但我只是想学习,所以请耐心等待。

每次提交表单时,我都会生成一个唯一的 key (unix 时间 + 远程主机 IP)。我将 key 存储在 db 表中,然后发送表单, key 是表单上的隐藏字段。提交表单时,我会检查该键的值是否在 db 表中。如果是,我从 db 表中删除键并处理表单。如果键不在 db 表中,我会丢弃该表单并要求用户再次执行操作。

每次提交时,我还会删除陈旧的条目(用户未在规定时间内提交表单)。我需要有一些机制来阻止机器人对表单的请求。例如,如果我有来自特定主机的 n 个待处理请求,我会要求人们在几分钟后请求该表单。

这样的事情会起作用吗?

最佳答案

机器人将能够请求隐藏字段并提交。尝试使用非重新验证码库,这样您的用户就不会不知所措(重新验证码是压倒性的,因为它的额外目标是劫持您的用户对非常难以辨认的文本进行 OCR)。

但是,由于您要求使用非验证码解决方案,我建议您测量表单请求和表单提交之间的时间(使用隐藏键)。机器人会在几秒钟的请求内提交表单,但人类不会。

如果您发现这种简单的方法不适用于您的网站,那么您可以尝试更复杂的方法。

关于security - 防止机器人进行表单提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5255314/

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