WordPressの保存で「閲覧できません (Forbidden access)」403エラーが出る原因と対処|ConoHa WINGのWAF

※本記事はアフィリエイト広告(A8.net)を含みます。サービス内容は変わることがあるため、最新の情報は公式サイトでご確認ください。

このブログ(ConoHa WINGで運営)の記事に、ブラウザで動く計算ツールを入れて投稿しようとしたところ、保存した瞬間に「閲覧できません (Forbidden access)」という画面が出て、記事が保存できませんでした。この記事では、実際に起きた症状と原因、そしてセキュリティを落としっぱなしにしない対処方法をまとめます。

症状:スクリプト入りの記事だけ保存できない

  • 保存すると「閲覧できません (Forbidden access)」「指定したウェブページを表示することができません」と表示される
  • 画面の下に「Powered by SiteGuard Lite」と書かれている
  • 文章や表、見た目の設定(style)だけの記事は普通に保存できる
  • 「カスタムHTML」ブロックに script タグを入れたときだけ止まる
  • ブロックエディターからでも、外部ツール(REST API)からの投稿でも同じように止まる

原因:サーバーのWAFが「攻撃」とみなしている

WAF(Webアプリケーションファイアウォール)は、サイトへの攻撃を自動で止める仕組みです。ConoHa WINGでは「SiteGuard Lite」というWAFが使われていて、送られてきたデータの中にスクリプト(scriptタグ)のような、攻撃に使われやすい書き方があると、通信そのものを止めます。

記事に計算ツールを入れるのは正当な使い方ですが、WAFからは「他人のサイトにスクリプトを埋め込む攻撃(XSS)」と見分けがつかないため、こうしたことが起きます。つまり、WAFが正しく働いている状態です。

対処1:一時的にWAFをOFFにして保存する(いちばん確実)

  1. ConoHaのコントロールパネルにログインする
  2. 「WING」→「サイト管理」→「サイトセキュリティ」→「WAF」を開く
  3. 利用設定を「OFF」にする
  4. WordPressに戻って、記事を保存・公開する
  5. すぐにWAFを「ON」に戻す

OFFにしている間は、サイトが攻撃を受けやすい状態になります。保存が終わったら、必ずONに戻してください。このブログでは、スクリプト入りの記事は何本かまとめて準備しておき、OFFにするのは1回・数分だけにしています。

対処2:WAFのログから「除外」する

同じ「WAF」の画面にあるログには、止められた通信の記録が残ります。その記録を「除外」すると、同じ種類の書き込みは次からONのままでも通るようになります。

毎回OFFにする手間はなくなりますが、その種類の通信をずっと通すことになるので、守りは弱くなります。どの検知を除外するのかを理解したうえで使いましょう。

対処3:記事の本文にスクリプトを書かない

ツールを動かすスクリプトを、記事の本文ではなく、プラグインやテーマのファイル側に置く方法もあります。記事の保存時にスクリプトを送らないので、WAFに止められません。ただし、ファイルの編集やプラグインの設定が必要になり、手軽さでは対処1に劣ります。

なお、テーマ「Cocoon」の設定画面にも、広告コードなどを保存するときにサーバーのファイアウォールで403エラーになることがあると注意書きがあります。Googleアドセンスのコードを入れるときも、同じ対処が必要になる場合があります。

おまけ:保存できたのにツールが動かないとき

WAFを通して保存できたのに、公開ページでツールが動かないことがありました。原因を調べると、スクリプトの中の &&(「かつ」を表す記号)が、WordPressによって && という文字に書き換えられていて、スクリプトがエラーになっていました。

このブログでは、スクリプトの中で && を使わない書き方(if文を入れ子にするなど)に直して解決しました。どんな条件で書き換えが起きるかははっきりせず、このブログでは4本のツールのうち1本だけで起きました。公開後は、ブラウザの開発者ツール(F12)の「コンソール」にエラーが出ていないか確認すると原因が見つけやすくなります。

まとめ

  • 「閲覧できません (Forbidden access)」+「SiteGuard Lite」は、ConoHa WINGのWAFが保存を止めた印
  • 確実なのは、WAFを一時的にOFF → 保存 → すぐON
  • 毎回の手間を減らすならログから除外。ただし守りは弱くなる
  • 保存後にツールが動かないときは、&& の書き換えも疑う

このブログで実際に動いているツールの例:24時間稼働の電気代計算ツール/cron 次回実行時刻チェッカー

このブログのサーバー

このブログはConoHa WINGで運営しています。WAFが最初から有効になっていて、管理画面からON・OFFやログの確認ができるので、トラブルの原因を自分で追いやすいと感じています。Claude Codeで記事作成を半自動化した流れはClaude CodeでWordPressブログを半自動化する始め方にまとめています。

ConoHa WINGの公式サイトを見る

これからサーバーを選ぶ人は、WordPressブログのレンタルサーバーの選び方|ConoHa WINGとエックスサーバーを公式情報で比較も参考にしてください。

コメント

タイトルとURLをコピーしました