Должен ли я использовать CFTHREAD, чтобы замедлить трафик ботов?
Недавно мы перенесли наш сайт из application.CFM в application.CFC. Версия CFM может обрабатывать наш чрезмерный трафик ботов, но наша версия CFC не может. Мы пытаемся выяснить, почему проблема с ХФУ. А пока мы пытаемся ограничить трафик ботов.
В настоящее время я ищу решение в базе кода для замедления трафика ботов. Мы можем сделать это, посмотрев на агента пользователя, а также IP-адрес.
Мы использовали код ниже, чтобы успешно остановить много ботов.
<cffunction name="OnRequestStart">
<cfif find("bot", cgi.httP_USER_AGENT)>
<cfabort>
</cfif>
</cffunction>
Очевидно, мы хотим немного трафика бота. Но сейчас мы не можем справиться со всем трафиком ботов. Похоже, что как только мы прерываем запрос, чтобы остановить запрос, сразу за ним появляется другой запрос, и в конечном итоге он отключает наш сервер.
Вместо того, чтобы останавливать ботов, каковы будут последствия использования CFTHREAD для замедления ботов?
<cffunction name="OnRequestStart">
<cfif find("bot", cgi.httP_USER_AGENT)>
<cfthread action="sleep" duration="5"></cfthread>
</cfif>
</cffunction>
Будет ли использование CFTHREAD просто составлять запросы и в конечном итоге убивать наш сервер, или боты будут отвечать меньшим количеством запросов в час?