Coldfusion 我应该使用CFTHREAD来降低bot流量吗?

Coldfusion 我应该使用CFTHREAD来降低bot流量吗?,coldfusion,coldfusion-10,cfthread,Coldfusion,Coldfusion 10,Cfthread,我们最近将我们的站点从application.CFM迁移到application.CFC。CFM版本可以处理我们过多的机器人流量,但CFC版本不能。我们正试图找出氟氯化碳问题的原因。与此同时,我们正试图限制机器人的流量 目前,我正在寻找一个解决方案内的代码库,以减缓机器人的交通。我们可以通过查看用户代理和IP地址来实现这一点 我们已经使用下面的代码成功地阻止了许多机器人 <cffunction name="OnRequestStart"> <cfif find("bot

我们最近将我们的站点从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会将请求堆积起来并最终杀死我们的服务器吗?还是机器人会以每小时更少的请求进行响应?

或者您可以将限制器放在更上游的位置,例如防火墙级别,以防止机器人到达CF层。机器人是否会创建太多会话,从而导致JVM崩溃?您可以将bot连接的会话超时更改为1秒,以便bot会话不会累积并使JVM崩溃。您使用的是哪台web服务器?我们使用IIS7.5,并使用URL重写模块和一对用户代理规则来返回已知滥用用户代理的403响应。(我们这样做是为了让ColdFusion甚至不参与阻塞过程。)@EvikJames,一如既往,Ben Nadel有答案。。。与你的问题相切,但我非常怀疑是Application.cfm和Application.cfc之间的差异导致了这种情况。我建议你把这两个都发到,这样我们就可以看看你在做什么。