gpt4 book ai didi

java - 只允许在 Spring Security 5 中的某些特定 url 中使用分号,即 StrictHttpFirewall?

转载 作者:行者123 更新时间:2023-12-05 06:35:14 26 4
gpt4 key购买 nike

我们正在使用 primefaces 媒体组件,它生成的 url 为 /javax.faces.resource/dynamiccontent.properties;/.pdf 其中包含分号( ;).

因此,我们遇到异常,即 请求被拒绝,因为 URL 包含潜在的恶意字符串。

在 Spring Security 5 更新中,默认启用 StrictHttpFirewall。我们可以在 StrictHttpFirewall 中使用 setAllowSemicolon(true) 指定允许分号。

但这将适用于所有 URL。

有什么方法可以配置为只允许特定 URL 使用分号吗?

最佳答案

正如上面的答案所示,我还为允许分号的自定义防火墙添加了以下 XML 定义。

<bean id="myHttpFirewall" class="org.springframework.security.web.firewall.StrictHttpFirewall">
<property name="allowSemicolon" value="true"/>
</bean>

<security:http-firewall ref="myHttpFirewall"/>

然而这本身并没有影响。要在我的应用程序中使用该防火墙,我必须按如下方式将其添加到我的 FilterChainProxy 中:

<bean id="filterChainProxy" class="org.springframework.security.web.FilterChainProxy">
<constructor-arg>
<list>
<security:filter-chain pattern="/**" filters="...."/>
</list>
</constructor-arg>
<property name="firewall" ref="myHttpFirewall"/>
</bean>

关于java - 只允许在 Spring Security 5 中的某些特定 url 中使用分号,即 StrictHttpFirewall?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49768153/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com