この件でJSTLを使用することについて、この投稿と他の投稿を赤字にしました。
私の問題は少し異なります。私たちの機能の1つは、ユーザーがコメントにハッシュタグを書くことを可能にします。
コメントがリストされるたびに、サーバースクリプトはすべてをに変え#fooHastag
ます<a href='tag?fooHashtag'>#fooHashtag</a>
。
次に、すべてのコメントがJSTLを使用してGUIでリッスンされます。
<c:forEach items="${comments}" var = "comment">
${fn:escapeXml(comment)}
</c:forEach
予想どおり、このコードはサーバー上に構築されたハッシュリンクもエスケープします。を削除するfn:escapeXml
と、アプリケーションは安全ではなくなります。
これの修正について何か考えがありますか?escapeXml
(xssフィルターを手動で作成する以外)ハッシュタグを変換する前に、サーバー上でJSTLを使用できるようになれば素晴らしいと思います。それを行う方法はありますか?
ありがとうございました!