テスト環境下での変数等の出力について

24 views
Skip to first unread message

Taiki Yokoi

unread,
Jul 7, 2025, 4:04:47 AMJul 7
to a-blog cms forum
お世話になっております。

サブドメインにサイトのテスト環境を設置して運用しておりました。
一度、データベースごと導入し構築しなおしたところ
HTMLのタグが文字列として出力されてしまい、style等が反映されない状況になってしまいました。

a-blog Ver:3.0.53
PHP:7.4.33

導入は setup.phpによる簡単インストール後に各テーマやDBをリストアいたしました。
途中の過程では特にエラーは出ておりません。

サブドメインのテスト環境のみ、グローバル変数やカスタムフィールドの取得に異常があり、
img要素のsrc内に%{HTTP_MEDIA_ARCHIVES_DIR}でディレクトリを指定しておりましたが、
サイト上では src="%25%7BHTTP_MEDIA_ARCHIVES_DIR%7D とエンコードされ、画像が404になります。
(エントリー内のHTMLユニット)
ただし、 src等の属性ではない箇所(divの中など)で変数を入れた場合には正常に出力されます。

また、エントリーの追加→head要素内やHTMLユニットに<style>や<iframe>のタグを用いるとエスケープ処理され、HTMLタグではなく文字列として出力されてしまいます。

サブドメインのテスト環境を構築する前は問題なかったのですが、再構築したとたんにこのような出力結果になってしまったので、このような症状が出てしまう過去に例等ないかご確認お願いしたいです。

今回、3.0.15から3.0.53にアップデートの為、再構築しております。
サブドメイン下では上記症状がでておりますが、メインドメイン下の本番環境では問題ありません。

お手数おかけしますが、ご確認お願いいたします。

横井

伊藤淳

unread,
Jul 7, 2025, 9:31:17 PMJul 7
to a-blog cms forum
お世話になっております。

こちらですが、テキストユニットで発生している問題ということでよろしかったでしょうか。
その場合、以下修正をお試しください。

themes/system/admin/_layouts/admin-unit.html の @section(admin-text-unit)内の、以下コードを変更ください。

変更前
{text}[raw|escape|escvars]

変更後
<!-- BEGIN_IF [{selected_tag}/re/^(ul|ol|dl|pre|blockquote|none|markdown|table|template|div)]-->{text}[escvars]<!-- ELSE -->{text}[raw|escape|escvars]<!-- END_IF-->

また、<sytle>タグや<iframe>タグがエスケープされる問題は、以下記事を参考に対応をお願いできますでしょうか。


ご確認のほどよろしくお願いいたします。
2025年7月7日月曜日 17:04:47 UTC+9 t.y...@mediaexceed.co.jp:

Taiki Yokoi

unread,
Jul 8, 2025, 4:15:31 AMJul 8
to a-blog cms forum
伊藤 様

ありがとうございます。
参考記事を試してみたところ、無事全ての問題を解決することができました。

大変、お手数おかけいたしました。

横井

2025年7月8日火曜日 10:31:17 UTC+9 伊藤淳:
Reply all
Reply to author
Forward
0 new messages