Contact Form 7でWordPress管理画面へのアクセスが拒否された件|原因はBccの書き順でした

メディコム株式会社 代表取締役の木村です。

先日、お客さんのサイトで作業していたときに、エックスサーバービジネスの「WordPress管理画面へのアクセスが拒否されました」という画面に出くわしました。

やっていたのは、お問い合わせフォームにBccを1行足すという、それだけの作業です。
画面が案内している設定を確認しても直らず、原因はまったく別のところにありました。

同じ画面で止まっている方のために、確認した順番と結果を残しておきます。

Bccを1行足して保存しただけで、管理画面から締め出されました

Contact Form 7の「メール」タブにある「追加ヘッダー」へ、Bccの行を追加する。
作業の内容としては、ごく単純なものでした。

Reply-To: [your-email]
Bcc: [email protected]

この状態で保存を押したところ、画面が切り替わってエックスサーバーのエラーページが表示されました。

文面はこうです。

WordPress管理画面へのアクセスが拒否されました

ただいまエックスサーバー ビジネスのセキュリティ対策により、一部のご利用環境からWordPress管理画面へのアクセスが制限されています。

お客様のご利用環境において本画面が表示されてしまう場合は、サーバーパネル内[WordPressセキュリティ設定]より、制限の解除を行うことが可能です。

さらに下には、次の注意書きも添えられていました。

CloudFlare(クラウドフレア)等、外部サーバーを経由してアクセスされるサービス利用をされている場合、お客様(閲覧者)のご利用環境ではなく、経由する外部サーバーが制限に該当している可能性があります。

読むかぎり、サーバー側のアクセス制限に引っかかったように見えます。

なおこのお客さんのサイトはCloudflareを経由していません。
つまり、この注意書きに当てはまるケースではありませんでした。

そこで案内のとおり、サーバーパネルを開きました。

エラー画面が指している設定を確認しても直りませんでした

まずWordPressセキュリティ設定を見ました。

エックスサーバーのよくある質問にも、この画面についての説明があります。

「WordPressセキュリティ設定」により、WordPress管理画面へのログインが制限されている状態です。

WordPressセキュリティ設定には、次の4つの機能が入っています。

  • IPアドレス制限設定(ホワイトリスト以外からのアクセスを制限する)
  • 国外アクセス制限設定(国外のアドレスと、海外の主要クラウドサービスが持つ国内のアドレスを制限する)
  • ログイン試行回数制限設定(短時間に連続してログインに失敗した場合に制限する)
  • コメント・トラックバック制限設定

このうち管理画面へのアクセスに関係するのは上の3つです。

ひととおり確認して、一時的に解除もしてみました。
しかし保存を押すと、同じ画面が出ます。

WAF設定も確認しました

次に、サーバーパネルのWAF設定を見ました。

WAFはウェブアプリケーションファイアウォールの略で、攻撃と思われるアクセスを検知して遮断する機能です。
ここも確認しましたが、状況は変わりませんでした。

Cloudflareも経由しておらず、サーバー側の設定にも該当する項目がない。
画面が案内している範囲では、原因にたどり着けませんでした。

原因は、追加ヘッダーの行の順序でした

行き詰まって検索したところ、同じ現象を記録している記事に行き当たりました。

参考:【エックスサーバー】Contact Form 7で『アクセス拒否』が出る原因と対処法|Turnstile設定時の保存エラーはBccが原因だった

書かれていた対処は、追加ヘッダーの行の順序を入れ替えるというものでした。

先ほどの記述を、こう変えます。

Bcc: [email protected]
Reply-To: [your-email]

Bccを1行目に、Reply-Toを2行目に。

これだけで保存できました。

内容は1文字も変えていません。行の並び順を入れ替えただけです。

なぜ順序を変えると保存できるのか

エックスサーバーの公式マニュアルを読むと、説明がつきます。

WAF設定には6つの検知分類があり、そのひとつが「メール(メールの不正送信)」です。
対策内容として、次のように書かれています。

to、cc、bcc等のメールヘッダーに関係する文字列を含んだアクセスを検知します。

不正アクセスの例として挙げられているのは、フォームを使った第三者への大量メール送信です。
これはメールヘッダーインジェクションと呼ばれる攻撃を想定したものです。

フォームの入力値に改行を混ぜ込み、Bccの行を勝手に追加して、送信の踏み台にする手口を指します。

攻撃としては古くからあるもので、共通脆弱性タイプ一覧のCWE-93や、OWASPのテストガイドにも項目があります。

つまり「改行のあとにbccという文字列が来る」という並びは、そもそも検知されるように作られています。
私たちが正規の設定として書いたBccも、文字列としては攻撃と見分けがつきません。

行の順序を変えると検知パターンから外れるため、通るようになったと考えられます。

ひとつだけ説明のつかない点があります

WAFが検知した場合、公式マニュアルには「検知された場合には、アクセスが拒否されエラーページが表示されます」と書かれています。

しかし実際に出たのは、WordPressセキュリティ設定を案内するエラー画面でした。

この2つは別の機能で、公式のよくある質問でもそれぞれ別に説明されています。
なぜWAFの検知でWordPressセキュリティ設定の画面が出るのかは、公式の情報からは分かりませんでした。

ここは推測を書かずに、分からないままにしておきます。

次に同じ画面が出たときの確認順

私が次に同じ現象に当たったら、この順番で見ます。

  • 保存しようとした内容に、to、cc、bccという文字列が含まれていないかを確認する
  • 含まれていたら、行の順序を入れ替えて保存し直す
  • それでも直らなければ、WordPressセキュリティ設定の3つの制限を確認する
  • Cloudflareなどを経由している場合は、経由するサーバーが制限に該当していないかを確認する

最後の項目は画面に書かれている内容ですが、今回は経由していなくても発生しました。
経由していないから違う、とは判断できません。

順序を先に疑う理由は、サーバーの設定を触らずに済むからです。

WordPressセキュリティ設定を解除すると、その間はサイトの防御が下がります。
戻し忘れも起きます。

なおWAF設定は、変更しても反映まで時間がかかります。
エックスサーバー ビジネスの公式マニュアルには、最大30分程度と書かれています。

通常のエックスサーバーでは、旧サーバーパネルの場合に最大1時間程度とされています。

設定を変えた直後に試して「変わらない」と判断すると、原因を取り違えます。

まとめ

エラー画面は、原因のある場所を教えてくれるとはかぎりません。

今回の画面はWordPressセキュリティ設定とCloudflareを案内していましたが、実際に手を入れたのはフォームの追加ヘッダーでした。
Bccを含む行を1行目に移すだけで保存できます。

もし同じ画面で止まっていて、直前にフォームのメール設定を触っていたのなら、サーバーの設定を解除する前に行の順序を見てみてください。

先に見つけてくださった記事のおかげで、こちらは短時間で終わりました。

参考にした情報源

WordPressでブログ「【エックスサーバー】Contact Form 7で『アクセス拒否』が出る原因と対処法」(2025年12月18日)
エックスサーバー ビジネス よくある質問「『WordPress管理画面へのアクセスが拒否されました』と表示されました。」
エックスサーバー ビジネス マニュアル「WAF設定」
エックスサーバー ビジネス マニュアル「WordPressセキュリティ設定」
Contact Form 7「Cc、Bcc、その他のメールヘッダーを追加するには」
CWE-93: Improper Neutralization of CRLF Sequences (‘CRLF Injection’)

プロフィール

木村 正晴
木村 正晴代表取締役社長
2009年からSEO業界に参入し、2012年からは自身でアフィリエイトメディアの運用を開始。今日に至るまで、不動産・葬儀・印刷業など様々な分野のウェブサイトコンサルティングを担当。
現在は放置山林問題解決に向け”YAMAKAS”というサービスを開始。
https://yamakas.jp/
情報共有: