Ver. 3.0.6 リリースのお知らせ


この記事では、2022年1月27日にリリースした Ver. 3.0.6 の修正内容について紹介いたします。

現在お困りの問題に該当する項目がありましたら、お早めにバージョンアップのご検討をお願いいたします。

Ver. 3.0.6 リリースノート

  • CMS-5847 GoogleMapユニット新規追加時に、JavaScriptが動作せず、位置選択UIが動作しない問題を修正
  • CMS-5845 静的書き出しを改修・不具合修正
  • CMS-5849 エントリーやモジュールのブログ間移動で500エラーが出てしまう問題を修正
  • CMS-5850 リストア時やブログのインポート時にキャッシュがクリアされるように修正
  • CMS-5851 php8.0 で、CSVインポートが実行できない場合がある問題を修正
  • CMS-5854 モジュールIDの引数設定でPHPエラーやラベルが表示されない場合がある不具合を修正
  • CMS-5855 ブログのインポートでモジュールIDのブログ引数の値は変更しないように変更
  • CMS-5857 SiteテーマのGDPR対応をチェックボックスのON/OFFだけでコントロールできるように変更

主なリリースノートの詳細な内容

CMS-5855 ブログのインポートでモジュールIDのブログ引数の値は変更しないように変更

Ver. 3.0.6 以前は、ブログのインポート時に、インポートしたブログのモジュールIDの引数に、インポート先のブログIDと異なるブログIDが指定されていた場合、インポート先のブログIDにモジュールIDの引数を変更するという仕様でした。

しかし、主に開発時などでは、ブログIDの設定をそのままにインポートしたいという場面が多いことをふまえ、ブログのインポート時にモジュールIDの引数にブログIDの指定がされていた場合、インポートしたブログの設定を変更せず、引き継がれるように修正いたしました。

CMS-5857 SiteテーマのGDPR対応をチェックボックスのON/OFFだけでコントロールできるように変更

先日リリースされた、Ver. 3.0.0 から追加された SiteテーマでのGDPR対応のカスタマイズが管理画面のチェックボックスから ON/OFF を簡単に切り替えられるようになりました。

詳細については下記のブログに記載されていますので、GDPR対応にお困りの方は下記のブログをご一読ください。


最後に

この度はご迷惑をおかけしてしまい申し訳ございませんでした。該当する問題がありましたら、お早めにバージョンアップのご検討をお願いいたします。 また、迅速にご報告いただいたユーザーの皆さま、誠にありがとうございました。

今後もご報告いただいた内容に対して真摯に受け止め修正と改善を行ってまいりますので、よろしくお願いいたします。

オリジナルインストーラーの作り方

site や beginner のテーマからサイトを作り始めるのではなく、自社でベースのテーマ準備しているという方もいらっしゃると聞いています。 そんな方のために、オリジナルのインストーラーの作り方をご紹介します。

標準のインストーラーを確認

setup/bin ディレクトリをチェックしてみると以下の画像のようになります。


site テーマの場合には、site ディレクトリの中に site.yaml と media ディレクトリが存在ます。 その media ディレクトリの中にはインストール後の media ディレクトリと同様に 001 とブログID毎のディレクトリがあり、そこに画像ファイルが格納されています。

site.yaml の準備の仕方は?

管理画面のブログのエクスポート機能を使って(エクスポート)ボタンをクリックしてみてください。


ブログのエクスポート機能を使うことで、上記の bin の中に必要なファイルが入手できる事になります。 実際には、site.yaml ではなく data.yaml というファイル名になっていますが、今後作るオリジナルのテーマインストーラーの名前に後で変更してください。


オリジナルテーマのインストールデータを作成

今回は square というテーマを作る際の準備するファイルをまとめてみます。




bin/square ブログ管理画面からのエクスポートデータ
img/square.jpg テーマのイメージファイル 260x290 px
plugins/ 拡張アプリを同梱したい場合に
themes/square オリジナルのテーマ一式
tpl/install.html インストーラーのHTMLを変更

これらを テーマ名_バージョンや日付.zip のような命名規則で square_202202.zip のように圧縮ファイルを用意します。

簡単セットアップを利用してオリジナルテーマを自動設置

インストール環境を準備するために使われている「簡単セットアップ」ですが、2.11.x までは ionCube Loader や php.ini の設定、PHP のバージョンによって違うパッケージを選択など役割が多くありましたが、3.0 がリリースされインストールパッケージも1つになり、ionCube や php.ini の設定も必要がなくなりました。

そんな「簡単セットアップ」に新しい役目として、オリジナルテーマの自動セットアップする機能を組み込みました。



上記の画面は、リリースされていない準備中の画面になります。

その setup.php のファイルの中に、以下のように設定することで、自動で標準のインストーラーを上書きして特製のインストーラーとして動作するようにできるようになります。

$theme_zip_file = "square_202202.zip"; // (例)

これまでよりもエラーメッセージの表示などを分かりやすいものにして、はじめてインストールする人が困らないようなものに改良を進めていこうと思っております。

実際のオリジナルテーマで用意するデータ

例としては square という近日リリース予定の ECテーマを例にします。 用意するテーマ名のフォルダ square の中には、bin / img / plugin / themes / tpl のフォルダがあります。


bin フォルダ

標準の setup/bin と同じ構成で


img フォルダ

テーマ選択のところで使われる画像 ( 260 x 290 px )を用意します。


tpl フォルダ

インストーラー用の HTML ファイルを置き換えるためのファイルを用意します。


themes フォルダ

sqaure テーマファイル一式を用意します。


plugin フォルダ

そのテーマで利用する拡張アプリも一緒にインストールできます。


詳しくは、square のテーマがリリースされた際の zip ファイルを参考にしてください。

マルチブログインストーラー

最後に、マルチブログのインストールについて紹介しておきます。

現在は、bid:1 のブログのみインストールできますが、自社である程度初期段階の部分を構築済みのテーマを用意しようと思うと、マルチブログ環境になっているものが最初からインストールできたらと考えることでしょう。将来的には、そこもしっかり対応できたらと考えています。

<input name="select_theme" type="radio" value="site[news|lp]"/>

上記の tpl/install.html の中の記述で、select_theme をする際の value に [] で子ブログを設定します。

site[news]とすると、bid:1 = site / bid:2 = news のように子ブログをインストールでき、site[news|lp] とすると、bid:1 = site / bid:2 = news / bid:3 = lp となります。

メディア機能が用意される前から実装されていた機能のようで、現状は、子ブログ自体は作れるが、メディア部分の対応ができておりません。全て media/001 に保存されてしまうようです。 インストーラーの改修をして、より便利に使えるようにしたいと考えています。

JVNに報告された脆弱性への対応について


a-blog cms で複数の脆弱性が見つかりました。 すでに問題に対応したバージョンはリリースしておりますので、該当のバージョンに当てはまる場合は大変お手数ですが以下のご対応をお願いいたします。

今回は見つかった脆弱性は以下の3つです。

  • クロスサイトスクリプティング
  • テンプレートインジェクション
  • IPアドレスによるログイン制限の突破

JVN識別番号

  • JVN#14706307

クロスサイトスクリプティング・テンプレートインジェクション

問題の対象となる状態

プロフィールページのユーザー名または、デフォルトテーマのテンプレートのエントリータイトルがサニタイズせず出力しているため、クロスサイトスクリプティングまたはテンプレートインジェクションの脆弱性が存在します。
信頼されない投稿者以上のユーザーがログインするサイト、または会員機能がありユーザーが名前を入力できるようにしているサイトの場合は、ご対応をお願いいたします。

影響を受けるバージョン

  • a-blog cms Ver. 3.0.1 より前のバージョン (Ver.3.0.x系)
  • a-blog cms Ver. 2.11.42 より前のバージョン (Ver.2.11.x系)
  • a-blog cms Ver. 2.10.44 より前のバージョン (Ver.2.10.x系)
  • a-blog cms Ver. 2.9.40 より前のバージョン (Ver.2.9.x系)
  • a-blog cms Ver. 2.8.75 より前のバージョン (Ver.2.8.x系)
  • a-blog cms Ver. 2.8.0 未満のバージョン(フィックスバージョンはありません)

IPアドレスによるログイン制限の突破

問題の対象となる機能

管理ページ > コンフィグ > アクセス制限にある 「ログイン制限」「権限制限」「ベーシック認証(認証スキップ)」 機能をご利用の場合

詳細

IPアドレスによるログイン制限を突破されてしまう可能性が存在します。 管理ページ > コンフィグ > アクセス制限にある 「ログイン制限」 機能をご利用の場合は、アップデートをお願いいたします。
(※この脆弱性によりIPアドレスによる制限は突破される可能性がありますが、ログイン機能自体に脆弱はなく、ユーザー名とパスワードによる認証は正常に機能します。)

影響を受けるバージョン

  • a-blog cms Ver.2.11.41 より前のバージョン (Ver.2.11.x系)
  • a-blog cms Ver.2.10.43 より前のバージョン (Ver.2.10.x系)
  • a-blog cms Ver.2.9.39 より前のバージョン (Ver.2.9.x系)
  • a-blog cms Ver.2.8.74 より前のバージョン (Ver.2.8.x系)
  • a-blog cms Ver. 2.8.0 未満のバージョン(フィックスバージョンはありません)

問題への対応方法

各マイナーバージョン毎にフィックスバージョンがリリースしております。 「影響を受けるバージョン」 よりも新しいフィックスバージョンにアップデートを行なってください。

バージョンアップ 以外の対応方法

  • IPアドレスによるログイン制限機能の代わりに、.htaccessなどのWebサーバー側の機能を利用する
  • エントリータイトルを出力しているテンプレートを確認しエスケープ漏れしていないか確認する([raw]校正オプションがついていたら削除し、escape校正オプションを追加)
  • 会員サイトの場合、名前を出力している箇所を確認し、エスケープ漏れしていないか確認する([raw]校正オプションがついていたら削除し、escape校正オプションを追加)またグローバル変数「%{USER_NAME}」「 %{SESSION_USER_NAME}」 を利用している場合は、使用しないようにテンプレートを修正する。

この度はご迷惑をおかけしてしまい申し訳ございません。
該当する問題がありましたら、お早めにバージョンアップのご検討をお願いいたします。 また、迅速にご報告いただいたユーザーの皆さま、誠にありがとうございました。

今後もご報告いただいた内容に対して真摯に受け止め修正と改善を行ってまいります。 よろしくお願いいたします。

本件に関するお問い合わせ先

本件についてご不明点などありましたら以下のお問い合わせよりご連絡ください。

有限会社アップルップル
メールアドレス:info@a-blogcms.jp
お問い合わせフォーム:https://www.a-blogcms.jp/contact/