変数{hoge}をIFブロックで演算する値に使う際の注意

42 views
Skip to first unread message

鈴木孝明

unread,
Mar 21, 2021, 9:33:08 PM3/21/21
to a-blog cms forum
お世話になります。ルーコ鈴木です。
Ver.2.11.24 です。

IFブロックについて、質問です。
変数{hoge}を、IFブロックで演算する値に使う際の注意についてです。

{hoge}に改行が含まれると、IFブロックが機能しなくなるので、下記のように校正オプションを付けますよね。

<!-- BEGIN_IF [{hoge}[delnl]/nem/] -->
<!-- END_IF -->

さらに{hoge}にスラッシュ(/)が含まれると、IFブロックが意図した演算をしてくれない可能性があるので、下記のようにしました。

<!-- BEGIN_IF [{hoge}[convert('A')|delnl]/lk/fuga] -->
<!-- END_IF -->

convert('A')を使い、半角を全角に変換することで
半角スラッシュ(/)が含まれる問題を回避しています。

極端な話ですが、{hoge}に・・・
hoge/nlk/fuga/_or_/hoge
・・・のようにIFブロックを、意図的に改竄しようと試みる記述が含まれていても、
全角に変換しちゃえば安全かなと思っています。
※メールフォームの自由記入欄などの場合


以上の認識は合っているでしょうか?
またIFブロックにて演算する値に変数を使う際、気をつけることは他にあるでしょうか?

質問の経緯としては、下記です。
しばらくIFブロックでは
{hoge}[delnl]
と改行禁止にして安心していたのですが、あるときconvert('A')も
使った方がいいかと思いました。
そこで、他にも気をつけることや、まだ気づけていないことがないかなと考えた次第です。


ご教示よろしくお願いいたします。

伊藤淳

unread,
Mar 22, 2021, 6:09:06 AM3/22/21
to a-blog cms forum
お世話になっております。

IFブロックですが、ブラウザで実行可能なコードを挿入できるわけではないので、セキュリティ上は問題ないかと思いますが、
おっしゃる通り意図しない表示(IFブロック)が表示されてしまう可能性はございます。こちら将来バージョンで検討させていただきたいと思います。

現状はおっしゃる通り delnl や convert('A') を利用していただければ、大丈夫だと思います。

どうぞよろしくお願いいたします。

2021年3月22日月曜日 10:33:08 UTC+9 鈴木孝明:

鈴木孝明

unread,
Mar 22, 2021, 8:16:31 PM3/22/21
to a-blog cms forum


ご教示ありがとうございます!
承知いたしました。

また、IFブロックについては下記のドキュメントに、注意点を記載いただけると良いかと思います。

注意点とは
<!-- BEGIN_IF [{hoge}[delnl]/nem/] -->
<!-- END_IF -->
のように、変数に[delnl]を付けましょう・・・という情報です。

自分じゃない人の制作したテンプレートで、[delnl]がないために
IFブロックが壊れていることを、まれに見かけるのでそう思いました。

IFブロックでは、演算する値に変数を使うことが多いかなと感じるのですが
上記ドキュメントの記述例では、そういった例があまり載っていないので
記述例で
{hoge}[delnl]
があるだけでも、初学者にやさしいかな〜と思います。

なおGoogleで「a-blog cms IFブロック」と検索すると
上記URLがHitするので、このドキュメントに記載するのが適切かと考えました。

今後とも、よろしくお願いいたします。

2021年3月22日月曜日 19:09:06 UTC+9 伊藤淳:

伊藤淳

unread,
Mar 23, 2021, 2:29:19 AM3/23/21
to a-blog cms forum
お世話になっております。

ご意見ありがとうございます。
ぜひドキュメントに追記させていただきたいと思います。

今後ともどうぞよろしくお願いいたします。

2021年3月23日火曜日 9:16:31 UTC+9 鈴木孝明:
Reply all
Reply to author
Forward
0 new messages