これは、DotLiquid ライブラリを使用した Liquid の安全性に関する質問です。
ビューモデルが次のようなものであるとします (疑似コード):
class MyViewModel
public string MyField
public string MyMethod()
...そして MyViewModel オブジェクトが Liquid テンプレートに渡され、ここで MyField がテンプレート内からアクセスできるように設定されます (テンプレートがそのコンテンツを読み取れるようにするため)。
- MyField を割り当てることはできますか? つまり、テンプレートはビュー モデルの内容を変更できますか?
- MyMethod() を呼び出すことはできますか? レンダリング時にテンプレートからアクセスできるように構成された「MyMethod」メンバーはありません。
- テンプレートをレンダリングするときに「MyMethod」メンバーにアクセスできるように構成するとどうなりますか? Liquid テンプレートからのメソッド呼び出しは可能ですか?
私の仮定では、答えはすべての質問に対してノーですが、確認したいと思います。
ありがとうございました。