我的应用程序已部署在JBOSS AS 7上,Apache Web Server位于中间,公共IP可用于访问应用程序。应用程序基于Java / Spring / JSF / Hibernate。 为了避免Clickjacking,我在我的应用程序以及Appache服务器的httpd.conf中将X-Frame-Option设置为SAMEORIGIN。在几个模块中,几个弹出窗口/新窗口正在打开以显示数据。从App Server尝试这些时,这些工作正常。但另一方面,如果从公共IP尝试,弹出窗口将变得空白。在网络调试中,我发现以下错误。
123456.jsf:1加载“https://xx.xx.xx.xx/xxx/xxxx/123456.jsf?PA1=16208&PA2=A”时遇到多个“X-Frame-Options”标题,其中包含冲突的值('SAMEORIGIN,DENY')。回到'拒绝'。 123456.jsf:1拒绝在一个框架中显示“https://xx.xx.xx.xx/xxx/xxxx/123456.jsf?PA1=16208&PA2=A”,因为它将“X-Frame-Options”设置为“SAMEORIGIN,DENY”。
我搜索了Apache服务器中的Application和conf文件,但没有找到X-Frame-Options设置为DENY的位置。
在尝试弹出页面时,已找到以下值在响应标题中: X-Frame-Options:“SAMEORIGIN,DENY”。欢迎提供帮助。
答案 0 :(得分:0)
点击劫持是一个安全漏洞,可以通过here轻松理解。
X-Frame-Options是响应头参数,用于指示是否允许浏览器在“#”框架中呈现页面。或“iframe'。站点可以通过确保其内容未嵌入其他站点来使用此功能来避免Clickjacking攻击。为包含HTML内容的所有响应设置X-Frame-Options标头。可能的值是" DENY"," SAMEORIGIN"或"允许来自uri"。
报告的问题与X-Frame-Options有关,其中DENY在某个层中被设置,但我还没有配置它。这些层是:我的应用程序层(值设置为SAMEORIGIN),Apache WEB层(值设置为SAMEORIGIN)和负载平衡层(LB团队将值设置为DENY)。原因是,弹出窗口空白。建议后,LB团队改变了设置。我的应用程序正如预期的那样正常工作。