从jsp向javascript发送价值的安全方式

时间:2014-08-17 17:31:12

标签: javascript jsp xss

我必须保护一个针对XSS攻击的java Web应用程序。代码的某些部分如下所示:

<script>
  jsvariable = ${jspvariable}
  use(jsvariable)
<script>

我的第一个难点是做这样的事情:

<script>
  jsvariable = ${fn:escapeXml(jspvariable)}
  use(jsvariable)
<script>

但是escapeXml并没有在脚本标记内避免使用XSS。从jsp向javascript发送值的正确方法是什么。

1 个答案:

答案 0 :(得分:3)

您可以在text / json块中编写jsp数据,浏览器将忽略它:

<script id="demo" type="text/json">
  ${jspvariable}
</script>

然后,您可以在dom ready上解析javascript文件中的值:

console.log(JSON.parse(document.getElementById('demo').innerHTML));

XSS注入只能导致JSON解析错误