プロキシやBotを排除するPHPコードのメモ(不完全)
投稿日:2015年11月09日
最終更新日:
目次
- プロキシの排除
- Botの排除
- 完成形
プロキシの排除
まずはプロキシを排除しましょう。 [PHP] [/PHP]プロキシ判定に引っかかった人に対してエラーメッセージを記述したりするなどして、プロキシユーザーを排除します。今回はプロキシ特有の環境変数の有無を判定しているので、ここで判定に使っていないものだと通しますし、特有の環境変数を吐かないプロキシも通します。
Botの排除
今度はBotの排除です。HTTP/1.0での接続を遮断します。最近のブラウザは、普通はHTTP/1.1に対応しているので、通常ユーザーを遮断する心配はないです。全ページでこれをやるとGoogle bot(Googleのクローラー)まで遮断するので、やはりサイト心臓部のみにかけるべきです。 [PHP] [/PHP]当然ながらHTTP/1.1を利用するBotは遮断できませんし、手動で悪事をはたらく人も遮断できません。
完成形
[PHP] [/PHP]判定機能はコード下方の関数にまとめてあります。これまでに解説した判定法を全部通過したユーザーにはtrueを、1個でも引っかかったユーザーにはfalseを返すようになっています。