UA による Web サイトのクロールを防ぐ Nginx のクローラー対策戦略

UA による Web サイトのクロールを防ぐ Nginx のクローラー対策戦略

クローラー対策ポリシー ファイルを追加しました:

vim /usr/www/server/nginx/conf/anti_spider.conf

ファイルの内容

#Scrapyなどのツールによるクロールを無効にする if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) { 
   403 を返します。 
} 
# 指定された UA または空の UAif によるアクセスを無効にします ($http_user_agent ~ "WinHttp|WebZIP|FetchURL|node-superagent|java/|FeedDemon|Jullo|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|Java|Feedly|Apache-HttpAsyncClient|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms|BOT/0.1|YandexBot|FlightDeckReports|Linguee Bot|^$" ) { 
   403 を返します。        
} 
#GET|HEAD|POST以外の方法によるクロールを無効にする if ($request_method !~ ^(GET|HEAD|POST)$) { 
  403 を返します。 
}
#単一のIPをブロックするコマンドは#deny 123.45.6.7です
#123.0.0.1 から 123.255.255.254 までのセグメント全体をブロック#deny 123.0.0.0/8
#123.45.0.1 から 123.45.255.254 までの IP 範囲をブロックします #124.45.0.0/16 を拒否します
#123.45.6.1から123.45.6.254までのIP範囲をブロックするコマンドは#deny 123.45.6.0/24です
# 以下の IP はすべて不正です #deny 58.95.66.0/24;

構成の使用法

サイトのサーバーに導入する

# クローラー対策には /usr/www/server/nginx/conf/anti_spider.conf を含める

最後にnginxを再起動します

有効かどうかを確認する

YYSpiderのシミュレーション

λ curl -X GET -I -A 'YYSpider' https://www.myong.top
HTTP/1.1 200 接続が確立されました
HTTP/2 403
サーバー: marco/2.11
日付: 2020年3月20日金曜日 08:48:50 GMT
コンテンツタイプ: text/html
コンテンツの長さ: 146
xソース: C/403
x-リクエストID: 3ed800d296a12ebcddc4d61c57500aa2

Baiduspiderをシミュレートする

λ curl -X GET -I -A 'BaiduSpider' https://www.myong.top
HTTP/1.1 200 接続が確立されました
HTTP/2 200
サーバー: marco/2.11
日付: 2020年3月20日金曜日 08:49:47 GMT
コンテンツタイプ: text/html
変化: Accept-Encoding
xソース: C/200
最終更新日: 2020年3月18日水曜日 13:16:50 GMT
電子タグ: "5e721f42-150ce"
x-リクエストID: e82999a78b7d7ea2e9ff18b6f1f4cc84

クローラーの一般的なユーザーエージェント

FeedDemon コンテンツ コレクション BOT/0.1 (JCE 用 BOT) SQL インジェクション CrawlDaddy SQL インジェクション Java コンテンツ コレクション Jullo コンテンツ コレクション Feedly コンテンツ コレクション UniversalFeedParser コンテンツ コレクション ApacheBench cc 攻撃者 Swiftbot 役に立たないクローラー YandexBot 役に立たないクローラー AhrefsBot 役に立たないクローラー YisouSpider 役に立たないクローラー (UC Shenma Search に買収されました。このスパイダーはリリースできます!) 
jikeSpider 役に立たないクローラーMJ12bot 役に立たないクローラーZmEu phpmyadmin 脆弱性スキャンWinHttp コレクションcc 攻撃EasouSpider 役に立たないクローラーHttpClient tcp 攻撃Microsoft URL コントロール スキャンYYSpider 役に立たないクローラーjaunty wordpress ブラスト スキャナーoBot 役に立たないクローラーPython-urllib コンテンツ コレクションIndy ライブラリ スキャンFlightDeckReports Bot 役に立たないクローラーLinguee Bot 役に立たないクローラー

上記は、UA による Web サイトのクロールを防ぐための Nginx アンチクローラー戦略の詳細です。Nginx アンチクローラーの詳細については、123WORDPRESS.COM の他の関連記事をご覧ください。

以下もご興味があるかもしれません:
  • SpringBoot+webMagicはウェブサイトクローラーのサンプルコードを実装します
  • Springboot+webmagicはJavaクローラーJDBCとMySQLメソッドを実装します
  • Python クローラーが Taobao 製品の価格比較をクロールします (Taobao アンチクローラー メカニズム ソリューションを使用)
  • Python でアンチクローラーを回避する方法のまとめ
  • Pythonのアンチクローラー知識ポイントをクッキーで処理する方法の詳細な説明
  • Selenium-webdriver のアンチクローラー メカニズムを回避する 4 つの方法の詳細な説明
  • ウェブサイトのクローラー対策戦略
  • Python の一般的なクローラー対策戦略
  • 淘宝スライダー検証機能をスキップするSeleniumアンチクローラー実装コード
  • Python クローラーとアンチクローラーの戦い
  • Pythonのアンチクローラーはブラウザを偽装してクロールする
  • Springboot アンチクローラー コンポーネント kk-anti-reptile の使用方法

<<:  MySQLのファジークエリのような遅い速度を解決する方法

>>:  Web インタビュー: MVC と MVVM の違いと、Vue が MVVM に完全に準拠していない理由

推薦する

ドラッグアンドドロップによる並べ替えの詳細を実現する js

目次1. はじめに2. 実装3. HTML ドラッグ アンド ドロップ API を使用しないのはなぜ...

WINDOWS での MYSQL のインストールに関する詳細なチュートリアル

1. インストールパッケージをダウンロードする- お使いのコンピュータシステムに応じて適切なバージョ...

mysql5.7.19 解凍版の詳細なインストール チュートリアル (純粋なクラックされた中国語版 SQLYog を使用)

Mysql5.7.19バージョンは今年リリースされた新しいバージョンです。最近のMySQLのバージ...

MySql エラー 1698 (28000) の解決策

1. 問題の説明: MysqlERROR1698 (28000) の解決方法、新しくインストールされ...

Vue の新しい組み込みコンポーネントの使用方法の詳細な説明

目次1. テレポート1.1 テレポートの紹介1.2 テレポートの使用1.3 プレビュー効果2. サス...

MySQLは実際に分散ロックを実装できる

序文前回の記事では、eコマース シナリオでのフラッシュ セールの例を通じて、モノリシック アーキテク...

Linux の一般的な Java プログラム起動スクリプトのコード例

シェルを起動する頻度は非常に低いですが。 。 。しかし、書くたびに、多くの jar ファイル パスを...

Linux sar コマンドの使用方法とコード例の分析

1. CPU使用率sar -p (一日中表示) sar -u 1 10 (1: 1秒ごと、10: 1...

Vue での bimface の使用に関する詳細

目次1. Vue スキャフォールディングをインストールする2. プロジェクトを作成する3.1 プロジ...

Linux lsコマンドの使用

1. はじめにls コマンドはディレクトリの内容を表示するために使用され、Linux で頻繁に使用さ...

Vueのドラッグ可能なコンポーネントであるVue Smooth DnDの使用方法の詳細な説明

目次紹介とデモAPI: コンテナ財産ライフサイクルコールバックイベントAPI: ドラッグ可能実際の戦...

複数クリックを防ぐVueの実践

通常、クリック イベントは、メッセージ リマインダーのさまざまな状況に分割されます。これらが処理され...

標準のMySQL (x64) Windowsバージョンのインストール手順の詳細な説明

MySQL x64 はインストーラーを提供していません、インストーラーを提供していません、インストー...

画像を表示したり非表示にしたりするための JavaScript

JavaScriptは画像を表示したり非表示にしたりしますが、参考までに具体的な内容は次のとおりで...

JavaScript の組み込みオブジェクト 数学と文字列の詳細な説明

目次数学オブジェクト共通プロパティ一般的な方法Math.random()文字列メソッド長さプロパティ...