gpt4 book ai didi

php - 使用随机名称字段输入来对抗垃圾邮件机器人

转载 作者:可可西里 更新时间:2023-10-31 22:14:37 26 4
gpt4 key购买 nike

我正在考虑在注册表中使用随机输入名称。它将以这种方式完成:

  1. 用户请求注册表格网站。
  2. 为输入字段创建随机名称并将它们保存到用户的 session 中。
  3. 呈现表单并将其显示给用户。

我只是想知道这种方法是否能给我任何帮助。如果 session 驱动程序是一个 cookie - 它是使用我认为足够节省的第三方库以最佳方式加密和保护。如果用户不排除 cookie,我可以拒绝注册。
要删除 cookie 作为潜在的安全风险,我可以将 session 存储在数据库中。这似乎更安全,但也可能会使服务器过载(?)。
我的问题很简单。实现这样的功能有什么意义吗?

最佳答案

标准方法是有一个隐藏的文本字段。这是一个 type=text 的字段,但应用了 CSS 规则,因此它是不可见的。

标记:

<input type="text" name="put_some_innocuous_name_here" class="some_innocuous_css_class_name_here" value="" />

CSS:

input.some_innocuous_css_class_name_here {
display: none;
}

PHP:

if ((isset ($_POST ['put_some_innocuous_name_here']))
&& ($_POST ['put_some_innocuous_name_here'] != ''))
{
throw new Exception ('Suspected bot!');
}

其工作方式非常简单。普通用户永远不会看到您的隐藏文本字段,因为 CSS 规则会将其隐藏。因此真正的用户永远不会填写它。

然而,大多数垃圾邮件机器人并不知道 CSS。他们只是解析表单标记,然后看到一个似乎需要填写的文本字段。所以他们用一些随机数据填充该字段。因为填写了一个普通用户永远不会看到的表单字段,这意味着您可能正在与机器人打交道。

不要为此使用 input type=hidden,因为大多数垃圾邮件机器人足够聪明,可以注意到它们并忽略它们。

关于php - 使用随机名称字段输入来对抗垃圾邮件机器人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8786335/

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