テンプレートからユーザーが作成したaspxページがいくつかあります。いくつかの文字列置換($ {フィールド名}とanyting)が包含されるので、テンプレートの一部は次のようになります。テンプレート内の文字列置換を
<%
string title = @"${title}";
%>
<title><%=HttpUtility.HtmlEncode(title) %></title>
のaspxファイルは、このテンプレートから作成された場合、$ {タイトル}が置き換えられますユーザが入力した値。
しかし明らかに、彼らは入力文字列の二重引用符を閉じるだけで任意のHTMLを挿入できます。これをどうやって回避するのですか?私はそれが明白であるように感じるが、私はこれを回避する方法を考え出すことができない。
私はテンプレートのインスタンス化プロセスを制御できません。私はそれを与えられたものとして受け入れる必要があります。
これは動作する唯一の方法のようです - 値は何らかの保持領域に入れられ、別のプロセスが読み取ってaspxテンプレートに注入します。 – Clyde