java 字节数组中的Html转义- xss问题

dtcbnfnu  于 2023-06-04  发布在  Java
关注(0)|答案(1)|浏览(175)

我有一个字节数组与html和尝试逃脱。我将字节数组转换为字符串并替换特殊字符。当我进行替换时,我的html不能正常工作。它看起来像一个字符串,没有css。
如何正确制作?

String x= IOUtils.toString(getPdf(), "UTF-8");
  String secureX = replaceXssCharacters(x);
  return ResponseEntity.ok().contentType(
            MediaType.TEXT_HTML).body(secureX);

private String replaceXssCharacters(String value) {
if (value != null) {
  return value
          .replace("&","&")
          .replace("<", "&#60;")
          .replace(">","&#62;")
          .replace("\"","&#34;")
          .replace("'","&#39;");
}
return null;

}

wh6knrhe

wh6knrhe1#

您不应将PDF文件视为文本或字符串。这样做可能会损坏文件。将其视为二进制文件。你也不应该返回或处理它,就好像它是一个HTML。在Sping Boot 中,媒体类型应该是MediaType.APPLICATION_PDF_VALUE。请在浏览器中的how to set the presentation上参考此答案。

相关问题