如何在github托管的内容中设置X-Frame-Options?

时间:2013-06-09 18:18:49

标签: html iframe github

我想要一个html文件由任何网址加载为iframe,它由Github托管。

This solution无效:

<?php
header('X-Frame-Options: GOFORIT'); 
?>

我认为我们无法应用this one(mod_headers),那么还有办法吗?

2 个答案:

答案 0 :(得分:7)

支持回答:

  

我们阻止iframe以防止针对我们用户的点击劫持攻击。我们   通过为每个页面发送“X-Frame-Options:deny”标题来完成此操作。   点击劫持是一种合法的攻击媒介,目前我们没有   有计划删除“X-Frame-Options:deny”标题或允许   非GitHub拥有的属性的例外。遗憾的是,这些措施是必要的,但我们有责任采取一切实际措施来保护我们的用户。

答案 1 :(得分:1)

正如jeum解释的那样,没有骰子的iframe,它就行不通。如果您可以使用元标记覆盖该指令,则可能会有效,but you can't

  

请注意,此标记必须作为HTTP标头发送,如果在META HTTP-EQUIV标记中找到,则该指令将被忽略。

因此,它不适用于iframe。但它真的必须是一个iframe吗?因为加载脚本仍然有用,所以你可以这样做:

您网站上的脚本(我们称之为load_content.js):

var node = document.createElement('div')
node.innerHTML = '{place your code encoded as a JS string here}'
document.appendChild(node)

然后从其他网站使用它:

<script src="{URL to load_content.js}"></script>

当然,这对您使用它的网站有一些安全隐患,但它可能足以满足您的需求。


OTOH,您为什么不在其他地方托管该内容?一个小的虚拟服务器并不需要花费很多(除非你需要大量的RAM和硬盘空间)(我每月支付6欧元左右),即使你付不起任何钱,也有网站这让你可以免费托管几个html页面。