我正在创建一个脚本,该脚本将iframe与我的网站嵌入到客户的网站中,但是我想限制对此功能的访问。
我在服务器响应中添加了2个标头
Content-Security-Policy: "frame-ancestors: example.com" X-Frame-Options: ALLOW-FROM example.com
它可以工作,但是X-Frame-Options
不支持多个域,因此我向包含帧祖先URL的iframe URL添加了GET-param
当http://example.net
请求mysite.com/embed/?from=http://example.net
时,我检查了白名单并在标头中发送了该域
我的问题是获取浏览器用来与页眉进行比较的真实页面来源。
我尝试了location.origin
和document.referrer
,但是当我从iframe请求iframe时,它们都返回了错误的值。
例如http://jsbin.com。我找不到在沙盒代码中获取真实URL的方法,它始终为http://null.jsbin.com
。但是对于Content-Security-Policy
,浏览器使用http://jsbin.com/