Refused to display 'http://xxx.cn/' in a frame because it set 'X-Frame-Options' to 'sameorigin'.
此頁面不可以被ifame
X-Frame-Options HTTP 響應頭是用來給瀏覽器指示允許一個頁面可否在 <frame>, </iframe> 或者 <object> 中展現的標記。網站可以使用此功能,來確保自己網站的內容沒有被嵌套到別人的網站中去,也從而避免了點擊劫持 (clickjacking) 的攻擊。
解決方法:
1.在被Iframe的web.config 中取消行<add name="X-Frame-Options" value="SAMEORIGIN" />
2.在被Iframe的web.config中將<add name="X-Frame-Options" value="SAMEORIGIN" />修改為<add name="X-Frame-Options" value="ALLOW-FROM https://example.com/" />,表示該頁面可以在指定來源的 frame 中展示
另附:
-
X-Frame-Options有三種可配置值
-
X-Frame- Options: DENY
-
X-Frame- Options: SAMEORIGIN
-
X-Frame- Options: ALLOW-FROM https://example.com/
DENY
表示該頁面不允許在 frame 中展示,即便是在相同域名的頁面中嵌套也不允許。
SAMEORIGIN
表示該頁面可以在相同域名頁面的 frame 中展示。
ALLOW-FROM uri
表示該頁面可以在指定來源的 frame 中展示。
注: 在網頁中設置meta標簽是無用的!例如,<meta http-equiv="X-Frame-Options" content="deny">
是沒有效果的。不要使用這種方式。需要在下面的配置實例中配置HTTP Header的方式來進行配置,X-Frame-Options
才會起作用。
擴展 域
URL | 說明 | 是否允許通信 |
---|---|---|
http://www.a.com/a.js http://www.a.com/b.js |
同一域名下 | 允許 |
http://www.a.com/lab/a.js http://www.a.com/script/b.js |
同一域名下不同文件夾 | 允許 |
http://www.a.com:8000/a.js http://www.a.com/b.js |
同一域名,不同端口 | 不允許 |
http://www.a.com/a.js https://www.a.com/b.js |
同一域名,不同協議 | 不允許 |
http://www.a.com/a.js http://70.32.92.74/b.js |
域名和域名對應ip | 不允許 |
http://www.a.com/a.js http://script.a.com/b.js |
主域相同,子域不同 | 不允許 |
http://www.a.com/a.js http://a.com/b.js |
同一域名,不同二級域名(同上) | 不允許(cookie這種情況下也不允許訪問) |
http://www.cnblogs.com/a.js http://www.a.com/b.js |
不同域名 | 不允許 |