3

最近、サイトを application.CFM から application.CFC に移行しました。CFM バージョンは過剰なボット トラフィックを処理できますが、CFC バージョンは処理できません。私たちは、なぜ 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 を使用すると、リクエストが積み重なって最終的にサーバーが停止するのでしょうか、それともボットが応答する 1 時間あたりのリクエスト数が少なくなるのでしょうか?

4

0 に答える 0