コーディングブログ

Coding Blog

Gutenberg『更新に失敗しました』の原因はだいたいWAF設定

Gutenberg

WordPress

最終更新日:2019/11/10

記事を書いていると、ちょくちょく『更新に失敗しました』と出てストレスが溜まりますよね。
Gutenbergが使えなかった投稿はクラシックエディターに変更して無理やり更新してみたり・・

しかし、原因がわかり、快適にGutenbergで更新していけそうなので、その解決策を紹介します!

    レンタルサーバーのWebアプリケーションファイアウォールが更新をブロック

    Gutenbergは、WordPressのREST APIを用いてwp-jsonと通信して更新を行っています。
    その為、記事に使われている文字列がWebアプリケーションファイアウォール(WAF)に検知され、意図していないブロックをする事が多々あります。

    自分のIPアドレスからのアクセスのみWAFを除外

    .htaccessに下記を追加することで、WAFを除外することができます!
    ()の中にIPアドレスをいれてください。

    IPアドレスを調べる

    こちらのページで自分のIPアドレスを調べることができます。
    あなたのIPアドレスはこちら|tacs-port

    このページで表示されたIPアドレスを上記.htaccessに記述すると良いでしょう。

    検出されたシグネチャ別に除外

    それか、検出されたシグネチャ別に除外することもできます。

    lolipopの場合『ユーザー専用ページ』→『WAF設定』→『WAF検知ログ』→『検出されたシグネチャ』から参照可能です。

    複数書く必要が出てくるので自分のIPを除外してしまう方が1番楽です!

    ブロックされる要因

    シングルクォーテーションや、危険そうな単語を入力する

    sqlinj (SQLインジェクション)

    『auto-rename』と文中に入力した所、更新に失敗しました。

    HTMLにstyle属性がある

    xss-style (クロスサイトスクリプティング)

    style属性のcssでJavaScriptが動くことがあるようで、それを検知しているようです。

    参考:[柔軟すぎる]IEのCSS解釈で起こるXSS

    CSSやJSの複数行コメントの/* */がある

    xss-try(クロスサイトスクリプティング)

    XSSを行おうとしていると検知しているようです。

    PHPのrequireや、$_GETなどを記述した

    oscmd (OSコマンド?)

    サーバーサイド言語の危険そうな記述を検知しているようです。

    その他の原因

    cookieの不具合

    たまにcookieの不具合で更新できない時があります。
    この場合は一度ログアウトして、再度ログインすると解消されます。