Ver. 2.11.0 未満からアップデートしたらHTMLタグが表示されるようになってしまった

Ver. 2.11.0 から 校正オプションの仕様が変わり、校正オプションが指定されている場合も自動でサニタイズ(エスケープ)処理がされるようになりました。 これにより、アップデート後に閲覧画面を表示すると意図していないHTMLがタグのまま表示されてしまう可能性がございます。

詳細・対応方法は以下をご覧ください。

オンラインアップデートやバックアップ、リストア、CSVインポートなどで、プログレスバーが動かなくなる

オンラインアップデートやバックアップ、CSVインポートなどのバックグラウンドでプログラムを実行する機能を使用し、何かしらの理由により処理が止まってしまった場合、プログレスバーがそのままの状態で動かなくなってしまう場合があります。

バックグラウンドで実行される機能例

  • オンラインアップデート
  • バックアップ
  • リストア
  • CSVインポート

修正方法

この場合、a-blog cms 設置場所にある、cache ディレクトリ内にあるファイル(.htaccess以外)を削除していただくことで、プログレスバーを止めることができます。

.htaccess は削除しないでください。


フォームモジュールで、確認画面へ進もうとしてボタンをクリックしても進めない

お問い合わせフォームで、確認画面に進もうとしてもエラーもでず、進めない状況になった場合、何かしらバリデーションで引っ掛かっている可能性があります。

バリデーションを設定する方法は2つあります。1つは、テンプレートで設定する方法と、管理画面で設定する方法です。 テンプレートでバリデーションをかけている場合は、エラーメッセージも同時に記入すると思うので、今回のトラブルの場合は意図していないバリデーションを管理画面に設定している可能性があります。

管理画面でのバリデーション

管理画面 > フォーム > 該当フォームの変更 の「入力チェック・変換」項目に意図しないバリデーションがないかチェックください。


接続元IPアドレスが正しく取得できない・ログイン制限が正常に動作しない

接続元IPアドレスのグローバル変数が正しく取得できなかったり、ログの接続元IPアドレスやログイン制限が正しく動作しない場合がございます。

これはリバースプロキシやCDN、ロードバランサーなどが入っている場合に、正しい接続元IPアドレスが取得できないためになります。

対策方法

リバースプロキシなどが入っている環境でも正しく接続元IPアドレスを取得するには「config.server.php」の「TRUSTED_PROXY_LIST」に信頼できるプロキシのIPアドレスを設定ください。

複数ある場合はカンマで区切って指定します。

define('TRUSTED_PROXY_LIST', 'xxx.xxx.xxx.xxx,yyy.yyy.yyy.yyy');

これは「X-Forwarded-For」HTTPヘッダーから接続元IPアドレスを取得するときに、偽装された接続元IPアドレスを取得しないようにするための対策となっております。 (「X-Forwarded-For」は簡単に偽装できるため)

ログアウトまたは読者権限のユーザーでログインすると、組み込みJSが動作しない

ログアウトまたは読者権限のユーザーでログイン時に組み込みJSが動作しない場合は、組み込みJS自体が読み込まれていない可能性があります。

公式で配布している「develop」テーマでは投稿者以上でログインしている時のみ組み込みJSを読み込むようになっており、developテーマを元にテーマ開発を行うとログアウトまたは読者権限のユーザーでログインしている状態では組み込みJSが動作しません。

組み込みJSでは、さまざまなJSが含まれており使わない機能も多いので、パフォーマンスを考慮してログアウトまたは読者権限のユーザーでログイン時は組み込みJSを読み込まないようになっております。

修正方法

以下のように変更することで、ユーザーの権限やログイン状態に関わらず、組み込みJSを読み込むことができます。

修正ファイル: themes/ご利用テーマ/include/head/js.html

修正前

<!-- 投稿者以上以上の場合だけ組み込みJSを読み込むようにする -->
<!-- BEGIN_MODULE Touch_SessionWithContribution -->
<script src="%{JS_LIB_JQUERY_DIR}jquery-%{JS_LIB_JQUERY_DIR_VERSION}.min.js" charset="UTF-8"></script><!-- BEGIN_MODULE Js -->
<script src="/acms.js{arguments}" charset="UTF-8" id="acms-js"></script><!-- END_MODULE Js -->
<!-- END_MODULE Touch_SessionWithContribution -->

修正後

<script src="%{JS_LIB_JQUERY_DIR}jquery-%{JS_LIB_JQUERY_DIR_VERSION}.min.js" charset="UTF-8"></script><!-- BEGIN_MODULE Js -->
<script src="/acms.js{arguments}" charset="UTF-8" id="acms-js"></script><!-- END_MODULE Js -->