我的jsp上有CKeditor,每当我上传东西时,就会弹出以下错误:
Refused to display 'http://localhost:8080/xxx/xxx/upload-image?CKEditor=text&CKEditorFuncNum=1&langCode=ru' in a frame because it set 'X-Frame-Options' to 'DENY'.
我试过移除Spring Security,一切都很顺利。我怎样才能在Spring Security xml文件中禁用它?我应该在<http>
标记之间写什么
8条答案
按热度按时间kjthegm61#
如果您使用的是Java配置而不是XML配置,请将以下代码放在
WebSecurityConfigurerAdapter.configure(HttpSecurity http)
方法中:41zrol4v2#
默认情况下,
X-Frame-Options
被设置为denied,以防止clickjacking攻击。以下是策略的可用选项
*DENY-是默认值。使用此值时,无论站点是否尝试在框架中显示页面,该页面都无法在框架中显示。
*SAMEORIGIN-我假设这就是您正在寻找的内容,以便页面将(并且可以)显示在与页面本身相同原点的框架中
*ALLOW-FROM-允许您指定一个原点,页面可以在该原点显示在框架中。
如需了解更多信息,请点击此处。
和here来检查如何使用XML或Java配置来配置头。
请注意,您可能还需要根据需要指定适当的
strategy
。gc0ot86w3#
最有可能的情况是,您不想完全禁用此标题,而是使用
SAMEORIGIN
。如果您正在使用Java配置(Spring Boot
),并希望允许X-Frame-Options:SAMEORIGIN
,则需要使用以下命令。对于较早的Spring Security版本:
对于较新版本(如Spring Security 4.0.2):
4c8rllxm4#
如果使用XML配置,则可以使用
wxclj1h55#
如果您使用Spring Security的Java配置,则默认情况下会添加所有默认安全头。可以使用以下Java配置禁用它们:
vtwuwzda6#
如果您使用的是Sping Boot ,禁用Spring Security默认头文件最简单的方法就是使用
security.headers.*
属性。特别是,如果您想禁用X-Frame-Options
默认头文件,只需将以下内容添加到您的application.properties
:您还可以使用
security.headers.cache
、security.headers.content-type
、security.headers.hsts
和security.headers.xss
属性。有关更多信息,请查看SecurityProperties
。ej83mcc07#
您应该配置多个HttpSecurity示例。
这是我的代码,其中只有***/public/请求没有X-Frame-Options*头。
cuxqih218#
这里太危险了。
测试者: