【问题标题】:What's JSON prefix used for?JSON 前缀是做什么用的?
【发布时间】:2016-12-11 02:45:43
【问题描述】:

我知道这是一个愚蠢的问题,但我没有通过 Google 找到预期的答案。 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\"}"

我知道这是出于安全目的。但是具体是怎么回事呢?

【问题讨论】:

标签: java json spring spring-mvc


【解决方案1】:

如果您查看添加的另一个方法setPrefixJson(boolean) in the Spring JavaDoc,您将了解其背后的原因:

指示此视图输出的 JSON 是否应以“)]}'、”为前缀。默认为假。

以这种方式为 JSON 字符串添加前缀有助于防止 JSON 劫持。前缀使字符串在语法上无效,因为 脚本,使其无法被劫持。应该去掉这个前缀 在将字符串解析为 JSON 之前。

【讨论】:

    猜你喜欢
    • 2011-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-07
    • 1970-01-01
    • 2010-10-03
    • 1970-01-01
    相关资源
    最近更新 更多