お世話になります。ルーコ鈴木です。
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')も
使った方がいいかと思いました。
そこで、他にも気をつけることや、まだ気づけていないことがないかなと考えた次第です。
ご教示よろしくお願いいたします。