【Java/Kotlin】unbescapeでHTML5対応のエスケープ(サニタイズ)処理をする【SpringBoot】
やること
HTML
テンプレートのマクロ文字列をパラメータで置換する際のエスケープ処理をやります。
やり方
この記事ではunbescape
を用います。
HTML5
対応が明示されていませんが、Apache Commons Text
を用いる方法なども有ります。
導入
このライブラリはspring-boot-starter-thymeleaf
に入っていたため、SpringBoot
関連のものを入れていれば何もする必要が無いかもしれません。
一応ですが、Maven
のリポジトリは以下です。
エスケープする
以下の記事を参考にエスケープ処理をやってみました。
HtmlEscape.escapeHtml5
でエスケープできます。
fun main() {
val value = """
&: &
': '
`: `
": "
<: <
>: >
""".trimIndent()
println(HtmlEscape.escapeHtml5(value))
}
実行結果
バッククォート以外はエスケープされました。
&: &amp;
': &#x27;
`: &#x60;
": &quot;
<: &lt;
>: &gt;
その他エスケープ可能な内容
パッケージを覗いてみた様子が以下です。
色々とエスケープできます。
参考にさせて頂いた記事
Author And Source
この問題について(【Java/Kotlin】unbescapeでHTML5対応のエスケープ(サニタイズ)処理をする【SpringBoot】), 我々は、より多くの情報をここで見つけました https://qiita.com/wrongwrong/items/0da42d4d160f5f7b905e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .