StringEscapeUtils.escapeHtml4
作用是将特殊字符
转换为它们对应的HTML实体形式
,从而防止这些字符在网页中被解析为HTML标签
或脚本
,有助于防止跨站脚本攻击(XSS, Cross-Site Scripting)
依赖
xml
<!--org.apache.commons.text.StringEscapeUtils-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>1.10.0</version>
</dependency>
样例
xml
< 将被转义为 <
> 将被转义为 >
& 将被转义为 &
双引号 (") 会被转义为 "
单引号 (') 在HTML4中通常不转义,但在严格模式下或者为了兼容XHTML,可能会转义为 '
csharp
String unescaped = "<script>alert('XSS');</script>";
String escaped = StringEscapeUtils.escapeHtml4(unescaped);
# 结果: <script>alert('XSS');</script>
对于现代Web应用来说,建议使用更全面的安全策略来防止XSS攻击,而不仅仅是依赖于这种简单的转义操作。