我知道这是一个愚蠢的问题,但我没有找到谷歌的预期答案。 Spring MVC 4.3的一个新功能是支持配置JSON前缀
<mvc:message-converters>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="jsonPrefix" value=")]}',\n" />
</bean>
</mvc:message-converters>
因此JSON输入/输出可能如下所示:
)]}',\n"{\"userName\":\"ABC\",\"emailId\":\"ABC@gmail.com\"}"
我知道这是出于安全目的。但具体是什么呢?
答案 0 :(得分:3)
如果您查看添加setPrefixJson(boolean) in the Spring JavaDoc的其他方法,您将了解其背后的原因:
指示此视图的JSON输出是否应以&#34;)]}&#39;,&#34;为前缀。默认为false。
以这种方式对JSON字符串进行前缀用于帮助防止JSON 劫持。前缀使字符串在语法上无效为a 脚本使其无法被劫持。应该删除此前缀 在将字符串解析为JSON之前。