0
我有一個webapp(myApp--使用springBoot和VAADIN開發)。 該webapp將部署在tomcats服務器http://tomcatserver:8080/myApp上。iFrame中webapp的內容安全策略
現在我想展示一個webapp。
現在有一個要求,即IFRAME應該只適用於實現IFRAME的域的白名單。 所以我有一個網絡服務器http://myWebserver:8081它有一個index.html裏面的IFRAME。
webapp的生成春天的WebSecurityConfigureAdapter如下:
http.csrf().disable(); // Requirement: DTEUTARIF-111
http.headers()
.frameOptions().disable()
.and()
.headers().contentTypeOptions()
.and()
.xssProtection()
.and()
.httpStrictTransportSecurity()
.and()
.addHeaderWriter(
new StaticHeadersWriter(
"Content-Security-Policy",
"default-src 'self';" +
"child-src 'self' http://myWebserver:8081;" +
"script-src 'self' http://myWebserver:8081;" +
"style-src 'self' http://myWebserver:8081;" +
"connect-src 'self' http://myWebserver:8081;" +
"font-src 'self' http://myWebserver:8081;" +
"object-src 'self' http://myWebserver:8081;"
)
);
但我總是得到
angular.js:3543 Refused to apply inline style because it violates the following Content Security Policy directive: "style-src 'self' http://myWebserver:8081". Either the 'unsafe-inline' keyword, a hash ('sha256-1PxuDsPyGK6n+LZsMv0gG4lMX3i3XigG6h0CzPIjwrE='), or a nonce ('nonce-...') is required to enable inline execution.
與同爲 '腳本src' 中。
我不知道到100%,但是當我添加'unsafe-inline'
到腳本SRC和風格-SRC的IFRAME是開放的每一個領域。
我該怎麼做?反正有可能嗎?