0

ユーザーがアクセス可能な変数で満たされたオブジェクトのコンテキストで評価されるテンプレート文字列を指定できるようにすることで、エンド ユーザーがカスタマイズできるようにしたいと考えています。しかし、私はこれについて提起された懸念を見てきました. 定義された値の印刷へのアクセス権をユーザーに与える必要があるだけです。彼らがコードを呼び出せるようにすることは不必要であり、マイナーな機能を複雑にしすぎるだけです。

私が必要とする唯一の機能の疑似コード:

var userTemplate = "{{Persons.Total}} persons including {{Persons.First}}";
var variables = { Persons { Total: 10, First: "Bob" } };
return template(userTemplate, variables); // = "10 persons including Bob"

「ユーザーに安全」なテンプレート ライブラリはありますか? それとも、たくさんの正規表現を使って自分でやるべきですか?

4

2 に答える 2

0

本当にたくさんの正規表現が必要ですか? あなたの単純なケースでは、タグがないことを確認するだけで十分です:

regex=/<[\s\S]+>/
于 2012-05-30T16:04:49.187 に答える
0

OWASP XSS 防止チート シートには、クロス サイト スクリプティング (別名 javascript インジェクション) を防ぐためにユーザー入力をサニタイズするための多くのルールが含まれています。

Rule6 は、HTML ポリシー エンジンを使用してユーザー主導の HTML をアウトバウンド方式で検証またはクリーンアップする方法について説明しているため、特に興味深いものです。

于 2012-05-30T15:11:27.333 に答える