2017-07-27 5 views
0

:スペースまたは以下のいずれかの文字に続いて「ボット」によって識別されるするpreg_matchルール、ビング

不明ロボット(_ +:、。 ;/- )

636127 + 83 17.95ギガバイト

これは私のウェブサイト上の最大帯域幅を消費しているものです。 Googleのボットが消費しているものの4倍。結果、今月は1Mを超えた私は、これらのボットが何であるかを知らない、またはそれらが送信されているトラフィックの量が、私のサイト上でのボットによって総ヒット数

、エラーメッセージ

を「帯域幅を超えて」

php pregを使ってこれらをすべてブロックする方法はありますか?

私はgoogle bot、yahoo bot、bing botをブロックしたくありません。

誰かがPHPでこれらのボットを検出するpreg_matchルールを教えてください。

私は、403コードを送信する前にエントリを記録できるようにPHPを使いたいと思います。ヘッダを検出

おかげで実際に

+0

*誰かが私にpreg_matchルールを教えてもらえますか?>まず自分で何を試しましたか? – Jer

+0

はい、私は試しましたが、これはpreg_match( '/ bot /'、$ user_agent_string)でしたが、すべてのボットを検出し、google、yahoo、bingを除外しませんでした –

+0

'ピックデバイス検出器 ' https://github.com/piwik/device-detector buy私は 'CloudFlare'サービスの背後にある私のサーバーを隠す方が好きです。それはアンチクローラ/ファイアウォール/ ddos​​とより多くの機能があります。 – num8er

答えて

0

は良いアイデアではありません。

今日、あなたは奇妙な名前でボットをキャッチし、明日はGoogle botになり、同じような操作をします。

私はCloudFlareを使用しています。ホットリンク、攻撃、クローラ、悪者などからWebアプリケーション/システムを保存し、静的コンテンツをキャッシュし、サーバの帯域幅などを節約します。