WordPressでJavascriptが動かなかったときの覚書

[browser-shot url=”http://lolipop.jp/” width=”300″]

 私みたいなWeb初心者は、つまづきそうなので回避方法をメモしておきます。もちろん、私が大コケしたので覚書です。

使用条件

  • ロリポップ!のレンタルサーバ
  • WordPress簡単インストール
  •  この条件で、WordPressのウィジェットにJavascriptを書き込んで保存しようとした時に、保存が終わらない。

     よくあることだと思うのですが、ウィジェットにGoogle Analyticsのコードを埋め込もうとしていたんですな。ところが保存が終わらない。

     CSSの設定やバーミッションやテーマの問題や、WordPressの不具合か…… と悩みましたが、一般投稿ページに定番の”Hello World!!”Javascriptを書き込んで、保存を押したら403エラーで弾かれました。

     あぁ、これはレンサバの問題だ。そう思ってロリポの仕様を読んでいたら、WAF(Webアプリケーションファイアウオール)なる機能が働いていました。

     セキュリティ上、デフォルトで有効になっており、CGIやPHPだけではなく、Javascriptも弾くようで……

     これで解決。ロリポップ!のユーザーページからWAFの設定を無効化。

    今度はscriptタグが整形される

     もう一度、”Hello World!!”を投稿に書き込んでみました。

     正常に保存が終了され、プレビューを見てみると。オー ソース丸見え。

     もうね、今度は確実にWordPressの問題ですよ。WordPress MUであった不具合にそっくりっだ。adminで入れば問題ないけども、自分で作ったユーザー管理者ではHTMLの整形が行われてしまう現象に酷似。

     adminで入りなおしてとか、バージョンによってとか、検証はしていません。プラグインUnfiltered MUをインストールして回避しました。

     ロリポップ!のWordPress簡単インストールは、通常のWordPressと違ってMU機能、つまりマルチサイト化状態なのかもしれない。

    まとめ

  • ロリポップ!のユーザーページからWAF設定を無効化
  • WordPressプラグインUnfiltered MUをインストールと有効化
  •  同じ状況でつまづいている人の助けになればいいなぁ。検索でここにたどり着いた同士よ、私は2時間ほどハマりましたよ。

    以下サイトを参考にさせて頂きました
    http://www.brolog.com/396/

    20130831 追記

    GMO(ロリポップ)その他で今日も激しくサイト乗っ取りが横行している件で(追記あり)

     ロリポップ!のWordPress乗っとり祭りが発生しています。WAFの設定は必ずONに戻しましょう。私の場合、Google Analyticsのコードを設定した後にWAFをONに戻しても不具合はなさそうです。

     他にはこんな回避方法があります。(上級者向け)

    ロリポップ上のWordPressをWAFで防御する方法

    <緊急>

    .htaccessとwp-config.phpのパーミッション設定の確認を!!

     .htaccessは604
     wp-config.phpは400

     をとりあえず推奨しておきます。

    パスワードの使い回し、文字列の少ないパスワード、長い間更新していないパスワードは要注意です。

    作成者: いわみ まこと

    肉体労働者。趣味は心身操作の探究と実践、読書とゲームと衝動買い。