menu

ContactFormの編集で「Forbidden」403エラーが出る原因と対処法

ContactFormの編集で「Forbidden」403エラーが出る原因と対処法

WordPressでコンタクトフォームを編集・更新しようとした際、「Forbidden(403)」というエラーが表示されて保存できないトラブルに遭遇した方も多いのではないでしょうか。

このエラーは単なる設定ミスではなく、サーバー側のセキュリティ機能や設定の影響によって引き起こされることが多く、正しい知識がないと解決に時間がかかります。

Forbidden(403)とは?

「Forbidden」とは、アクセス権がない、あるいはセキュリティ上の理由でアクセスが遮断されたことを意味します。WordPressの管理画面上で表示される場合、サーバーがリクエストを拒否している状態です。

よくある原因:セキュリティ機能によるブロック

サーバー(例:XserverやConoHa WINGなど)の多くには、「WAF(Web Application Firewall)」というセキュリティ機能が搭載されています。これが特定の記述や操作を「不正な動作」と判断し、処理を強制的に遮断することがあります。

WAFウェブアプリケーションファイアウォール

特に以下のような記述はWAFに引っかかりやすく、Forbiddenエラーを引き起こす代表例です:

  • BCCやCCの記述(例:BCC: example@example.com
  • HTMLタグやスクリプトに近い文字列
  • SQL構文に似た記述(「select」や「drop」など)
  • 不適切なメールアドレス形式や改行コード

具体例:Contact Form 7で保存できないケース

たとえば、Contact Form 7の「追加ヘッダー」欄に以下のような記述をすると、Forbiddenエラーが発生することがあります。

Reply-To: [email]
BCC: hidden@example.com

この「BCC」行が、WAFによってメールヘッダインジェクションと判断されるため、保存できなくなります。

解決方法1:問題の記述を一時的に削除する

まずは該当のコード(特に「BCC:」「CC:」など)を一度削除して保存できるか確認してください。保存が成功した場合、記述がWAFに引っかかっていたことが確定します。

解決方法2:WAFを一時的にOFFにする

どうしても特定の記述を使いたい場合は、サーバーの管理画面からWAF(ウェブアプリケーションファイアウォール)を一時的に無効化し、保存完了後に再度ONに戻す方法もあります。

※この方法はセキュリティに関わるため、必要最低限の時間だけ無効化するようにしましょう。

解決方法3:メール送信処理を別プラグインで管理

WP Mail SMTPなどのメール送信専用プラグインを導入し、WordPressのメール送信処理をSMTP経由に切り替えることで、メールヘッダの自由度が増し、エラーが発生しにくくなります。

まとめ:Forbiddenエラーは「攻撃」と誤認されている

Forbiddenエラーは、サーバーが「これは安全でないかもしれない」と判断してブロックしている状態です。設定ミスではなく、むしろセキュリティが正しく働いている結果とも言えます。

そのため、焦らず、まずは記述を見直し、それでも解決しない場合はサーバー側の設定変更や代替手段(SMTP化など)を検討してみてください。

WordPressでフォーム編集に関わる作業をする際は、「WAFの存在」と「セキュリティ制限」を常に意識して作業するとトラブルを未然に防げます。

サポートのご案内

各サポートに関するご質問など、お気軽にお問い合わせください

03-3562-7238営業時間10:00~19:00(土日祝除く)