JSPとSpringを使用するプロジェクトでは、JavaScriptのEL式の値を最初にエスケープし、次にHTMLをエスケープする最も簡単な方法は何でしょうか?JSPでは、最初にJavaScriptの文字列値をエスケープし、次にHTMLをエスケープする方法は?
は、この使用を想像:変数値は引用、より少なくよりおよびその他の文字を含めることができますよう
<a onclick='alert("${note}");'>Foo</a>
これは、XSSやプレーン構文エラーの影響を受けやすいです。私が思いついた何
は次のとおりです。
<a onclick='alert("<c:out value="${null}"
><s:escapeBody htmlEscape="false" javaScriptEscape="true"
>${variable}</s:escapeBody></c:out>");'>Foo</a>
<!-- this escapes first the inner tags body for JS,
then c:out uses that (because its value attribute
is null, it uses what is in its own body) and
escapes it for HTML/XML -->
むしろ不器用なので、私はもっとエレガントな方法を探しています。
(例えば、それはa"b
の値に失敗するので、タグはHTMLのための最初のエスケープとしてだけ<s:escapeBody htmlEscape="true" javaScriptEscape="true">
を使用することは間違っていることに注意して、JS用)
はず重複してJSをエスケープについて質問@BalusC、ここで問題は、HTMLとJSについてです。ここの答えは、ここの答えの_part_として使用することができます。 –