ホーム 経験・テクニック共有 標準記事

標準記事

CloudFlareセキュリティルールでWordPress不正リクエストをブロックするチュートリアル

WordPressでサイトを構築しているユーザー、特にVPSを購入して宝塔パネルをインストールしWordPressを構築しているユーザーは、CPU使用率が突然100%になり、サーバー全体が遅くなりサイトにアクセスできなくなる経験をしたことがあるでしょう。その際にサイトログを分析すると、多数の不審なアクセス記録が含まれている可能性があります。例…

2025年11月10日更新 約5分で読めます
使用CloudFlare安全规则拦截WordPress非法请求教程

信じるWordPressでサイトを構築するのユーザー、特に自分でVPSを購入するをクリックします。宝塔パネルをインストールするWordPressを構築しているユーザーは、CPU使用率がうっかり100%になってしまい、サーバー全体が重くなり、サイトが開かなくなる状況に必ず遭遇したことがあるでしょう。その時、サイトログを分析すると、大量の不審なアクセス記録が含まれている可能性があります。例えば下図:

宝塔网站访问日志

上図のログから、このIPアドレス172.70.222.233のユーザー(ボット)が、0時31分に、サイトに存在しないphpファイルへのリクエストを多数送信していることがわかります。

同時にこれほど多くのリクエストが送信されると、一般ユーザーが購入するVPSの性能では全く耐えられず、CPUが瞬間的に100%まで急上昇し、サイトが開かなくなります。

この種のスキャン行為の危険性は何ですか?

  1. サーバーリソースの消費:各リクエストはサーバーのCPUとI/Oリソースを占有します。膨大なスキャンリクエストは、本来実際のユーザーにサービスを提供するために使用されるべき帯域幅と計算能力を無駄に消費し、サイトの応答速度を低下させたり、さらにはダウンさせたりする可能性があります。
  2. 脆弱性の探査:攻撃者は、一般的なスクリプトファイルのパスへのアクセスを試みることで、あなたのサイトに既知のセキュリティ脆弱性が存在するかどうかを探ります。利用可能なファイルを発見した場合、さらなる攻撃を仕掛けます。
  3. 不要なログの生成:大量の404エラーログは正常なアクセス記録を埋もれさせ、ログ分析と障害調査を困難にします。

どのようにブロックするか?解決の考え方

この問題を解決するために、もしあなたがちょうどCloudflareのCDNサービスを使用しているなら、CloudFlareのカスタムセキュリティルールを通じて、これらの不正リクエストを効率的にブロックし、サーバーリソースを保護し、サイトのセキュリティとアクセス速度を向上させることができます。

Cloudflareの„カスタムルール“機能は、リクエストが悪意のあるものかどうかを判断するための複雑な条件を設定することを可能にします。リクエストがルールをトリガーすると、Cloudflareは直接ブロックページを返し、そのリクエストは決してあなたのサーバーに到達しないため、リソース消費の問題を根本的に解決します。

下図:

Cloudflare拦截提示界面

実践チュートリアル、カスタムセキュリティルールの作成

以下、ステップバイステップでこの„ファイアウォール“ルールを作成します。

ステップ1:カスタムルール設定ページへ移動

  1. Cloudflare ダッシュボードにログインし、保護するサイトを選択します。
  2. 左側のナビゲーションバーで、順にセキュリティ> セキュリティルール
  3. 上部のタブで、カスタムルール
  4. クリックルールを作成> カスタムルールを選択し、ルール編集画面に進みます。

ステップ2:ルール条件とアクションを設定

以下のような画面が表示されます(スクリーンショットは既にルールを追加した状態です):

Cloudflare规则创建界面

ルール名:分かりやすい名前を入力します。例:„存在しないPHPファイルへのアクセスをブロック“。

ルール設定:これがルールの核心です。スクリーンショットのように手動で入力するか、„式を編集“をクリックし、以下のコマンドを編集ボックスにコピー&ペーストすることもできます。

(http.request.uri.path contains ".php" and not http.request.uri.path contains "/wp-admin/" and not http.request.uri.path contains "/wp-includes/" and not http.request.uri.path contains "/wp-content/" and not http.request.uri.path contains "/index.php" and not http.request.uri.path contains "/wp-login.php" and not http.request.uri.path contains "/wp-cron.php" and not http.request.uri.path contains "/xmlrpc.php")

このルールの意味は:

  • http.request.uri.path contains ".php":すべてのリクエストパスに.phpが含まれるリクエストに一致します。
  • not http.request.uri.path contains "/wp-admin/"など:WordPress が正常に動作するために必要なものを除外します。必須の合法的なPHPファイルとディレクトリパス。これは重要なステップで、通常のアクセスを誤って妨害しないことを保証します。
    • /wp-admin/:WordPress管理画面(ダッシュボード)ディレクトリ。
    • /wp-includes/:WordPressコア関数ライブラリディレクトリ。
    • /wp-content/:テーマ、プラグイン、アップロードファイルディレクトリ。
    • /index.php/wp-login.php/wp-cron.php/xmlrpc.php:WordPressコアファイル。

簡単に言うと、このルールの意味は„PHPファイルへのアクセスリクエストをすべて遮断するが、WordPressシステム自体が必要とする合法的なPHPファイルは除く“です。

その後、対策を講じる…„ブロック」を選択し、最後にデプロイボタンをクリックします。

効果検証

をクリックします。セキュリティルールの設定が完了したら、ブラウザでサイトを開き、複数のページをクリックして、すべてのページが正常に開くことを確認してください。

次に、あなたのサイトに存在しないPHPページ(URLの末尾に任意の英数字を追加し、.phpで終わる)にアクセスすると、Cloudflareのブロックページが表示されます。

まとめ:

このようにデプロイすると、サーバーの負荷が軽減され、不正なPHPリクエストはサーバーに渡されません。たとえ1日に何百、何千ものIPがサーバー上に存在しないPHPファイルをスキャンしても、サーバーがクラッシュすることはありません。重要なのは、この操作が無料で、追加費用がかからず、安価で使いやすく、あなたにとって有益であることです。

5/5 - (1票)
前の記事 WordPressでパスワードを忘れたら?管理者パスワードを素早く取り戻す4つの方法(2026年最新) 同じタイムラインの近くのコンテンツを読み続ける。 次の記事 著作権フリーVPSプロバイダー:AlexHostイングランドデータセンターVPSレビュー 次の関連チュートリアルや経験を表示する。

AIサイト構築アシスタント

🤖
こんにちは!私はNaibaサイト構築ノートのAIアシスタントです。何かお手伝いできることはありますか?
クイックコンサルティング: