スパムボットが頻繁にアクセスする Web サイトがあります。これらのスパムボットが人間以外のリクエストでウェブサイトの統計情報をゆがめるのを止めたいです。
サーバー側言語として主に PHP を使用して、IIS 7 (fast-CGI) を実行しています。スパムボットとは何かを検出する PHP コードを配置していますが、このスパムボットを検出すると、要求履歴ログ ファイルにエントリが記録されません。これで問題は解決します。
しかし、私はスパムボットをさらに罰したいと思います。うまくいけば、スパムボットのリクエストを遅らせたり抑止したりしたいと思います。
スパムボットの HTTP リクエストに対して HTTP レスポンスを送信できないようにする方法はありますか?
PHP では、sleep(30)
呼び出す前にタイムアウトを使用することを考えましたが、スクリプトに割り当てられたメモリを保持してexit()
いる間などにサーバー リソースが必要になると聞きsleep
ました。PHP スクリプトを終了し、本質的にスパムボットに何も送信しない方法はありますか? ? クライアント側のリクエストタイムアウトに達するまで、リクエストスレッドをロックすることを願っています。