Java通过安全编码方式防止XSS漏洞的示例代码
时间: 2023-08-20 07:03:55 浏览: 64
Java可以使用安全编码方式防止XSS漏洞,示例代码如下:
```java
import org.apache.commons.lang.StringEscapeUtils;
public class XSSUtil {
/**
* 对字符串进行HTML转义,防止XSS攻击
* @param str 需要转义的字符串
* @return 转义后的字符串
*/
public static String escapeHtml(String str) {
return StringEscapeUtils.escapeHtml(str);
}
/**
* 对字符串进行JS转义,防止XSS攻击
* @param str 需要转义的字符串
* @return 转义后的字符串
*/
public static String escapeJavaScript(String str) {
return StringEscapeUtils.escapeJavaScript(str);
}
}
```
在需要防止XSS漏洞的地方,可以调用上述方法进行编码。例如:
```java
String userInput = "<script>alert('XSS攻击')</script>";
String encodedInput = XSSUtil.escapeHtml(userInput);
System.out.println(encodedInput); // 输出:<script>alert('XSS攻击')</script>
```
上述代码中,`escapeHtml`方法会将用户输入的`<script>`标签转义为`<script>`,防止浏览器解析成脚本执行。同理,`escapeJavaScript`方法也可以将JavaScript代码进行转义,防止被注入到HTML页面中。