WordPressのウィジェットにJavascriptを登録しようとしたところ、「403 Forbidden」エラーで登録ができないのですがどうしたらいいですか?
先日、楽天アフィリエイトを始めるために、WordPressの「ウィジェット」に「楽天モーションウィジェット」を登録しようと試みたところ「403 Forbidden」エラーで登録ができなかったので、その際に対応した内容をお伝えします。
他の広告でも同じように、スクリプトタグを登録する場面においても同様の対処法で解決できるかと思います。
WordPressで「403 Forbidden」エラーが発生した時の対処法
環境
- サーバー:ConoHa WING
- WordPress:5.4.1
事象
WordPressの「ウィジェット」に「楽天モーションウィジェット」のソースを貼り付けるも「保存」ボタン左のグルグルが回ったままの状態でした。他の画面へ移動したりとWordPressの他の操作はできていました。
しばらく経ってもグルグルが終わらないので、「ブラウザ開発者ツール」(MacのChromeだとF12で開く)の「コンソール」を確認してみると「403 Forbidden」エラーが発生していました。
HTTP 403、またはエラーメッセージ Forbidden(「閲覧禁止」「禁止されています」の意)は、HTTPステータスコードの一つ。ページが存在するものの、特定のアクセス者にページを表示する権限が付与されず、アクセスが拒否されたことを示すもの。また、サイトの制作者側の設計ミスによる障害やサイトが非常に混雑している時、URLが間違っている場合にも表示されることがある。
Wikipedia
原因はサイトセキュリティによるリクエストの防御
楽天アフィリエイトのスクリプトのアクセスがサーバーに拒否されているみたいなのでサーバー(ConoHa WING)の管理画面へログインし、WAFのログを確認しました。
確認すると先程「ブラウザ開発者ツール」の「コンソール」で確認した403エラーのリクエストが「クロスサイトスクリプティング」で防御されていました。
原因はわかったので、「楽天モーションウィジェット」登録時のリクエストに対し、一時的に「除外」の設定をします。
Javascriptが登録できるか確認
再度、WordPressの「ウィジェット」に「楽天モーションウィジェット」のソースを貼り付けて「保存」すると、無事に保存することができました。
設定を戻すのをお忘れなく
設定した「楽天モーションウィジェット」がサイトで動作していることを確認したら、先程「除外」した設定を「除外解除」しておきましょう。
まとめ
今回のように、楽天モーションウィジェットが登録できない場合もそうですが、Javascriptをウィジェットなどに登録する際、同じ事象が起こった場合は、ブラウザの開発者ツールで403エラーが発生していないかを確認しましょう。
コメント