Php sleep()对机器人有帮助吗

Php sleep()对机器人有帮助吗,php,html,Php,Html,我有一个网站,会员可以在那里发布某些主题。有很多主题,例如,我使用sleep(),sleep(20),在提交时设置延迟。我知道这不是一个用户友好的方法,但我知道这是我正在实现的。我的问题是,这种方法能抵抗机器人吗 <form method="post" action="/example.php"> <?php sleep(20); ?> 不,这不会有帮助,因为php中的睡眠对于用户来说相当于等待一小段额外的时间来加载页面 对于机器人来说没有区别,不幸的是这并不能保护你

我有一个网站,会员可以在那里发布某些主题。有很多主题,例如,我使用
sleep()
sleep(20)
,在提交时设置延迟。我知道这不是一个用户友好的方法,但我知道这是我正在实现的。我的问题是,这种方法能抵抗机器人吗

<form method="post" action="/example.php">

<?php sleep(20); ?>

不,这不会有帮助,因为php中的睡眠对于用户来说相当于等待一小段额外的时间来加载页面

对于机器人来说没有区别,不幸的是这并不能保护你


你有没有想过使用或a之类的东西?

它只会让用户感到烦恼,因为他们不喜欢

然而,机器人并没有不耐烦

最好是抱着最好的希望,让机器人遵守
robots.txt
文件

也只是偶尔检查一下日志文件,看看是否有“不自然”的持续流量


同样使用summat,比如CAPTCHA,行为良好的机器人不会发布帖子,所以robots.txt文件不会有任何好处。睡眠延迟也无济于事


一种选择是尝试检测提交表单的是否是人。最简单的方法是在隐藏的表单字段中包含时间戳。提交时,您会检查填写和提交表单所需的时间。机器人很可能会在这方面非常快,比任何人类都快。这不会阻止所有的程序,但应该会有帮助。

不。请不要使用
sleep
来保护自己免受机器人程序的攻击,因为即使在机器人程序负载很小的情况下,由于sleep()阻塞了PHP线程,这也会耗尽服务器的所有HTTP连接


尝试使用(隐藏的表单字段,人类不会填写,但机器人会填写)或(请求输入图像中的字母;一项计算困难的任务)。

也许你不需要,只是睡得晚,HTTP请求将等待延迟,也许唯一有效的延迟是“前端”(以javascript为例)1.我认为这是错误的。如果和一个不守规矩的机器人打交道,他们会不会推迟提交——也许使用一个随机数字,他们当然可以。大多数机器人都试图用尽可能少的资源尽可能快地完成任务。插入延迟将需要更多的资源(在延迟期间保留状态)并减慢速度。感谢您的输入,我将检查验证码的实现。我同意这绝对是用户友好的。谢谢您,我将检查这两个。