Github Pages与自定义CNAME的安全性问题

12

Github允许您在自己的域名上托管静态页面。该过程在此处描述:https://help.github.com/articles/setting-up-a-custom-domain-with-pages

它指出,您必须在存储库中创建一个名为CNAME的文件,以确保您的域名被映射到该存储库。

如果其他人使用您的域名创建了pages存储库并将其写入他们的CNAME文件中,会发生什么情况?他们能够通过这种方式劫持您的域名吗?还是Github永久将该域名与您的存储库关联起来?

2个回答

9
首先,如果您首先使用CNAME,那么就很安全了。GitHub Pages会向试图创建相同CNAME文件的任何人发出错误提示。这在分叉此类存储库时可能有点令人沮丧。
其次,GH Pages最近添加了一种选项,可以使用CNAME DNS记录而不是A记录将DNS设置为特定帐户,如下所示:
www.example.com   CNAME   username.github.io

请查看您提到的页面以获取更多信息:https://help.github.com/articles/setting-up-a-custom-domain-with-pages

1
要小心,如果你有一个要发布在子域名上的代码库,但删除它、重命名它或将其转移到另一个所有者的账户。这种更改会断开仓库与 GitHub Pages 子域名之间的链接。然后该域名就可以再次被认领, 如果您仍然在 DNS 中拥有 CNAME 记录,则任何人都可以设置一个域,并添加 CNAME 文件,从而在您的子域名上提供服务。-> 永远不要删除代码库而不删除 DNS 条目。请参阅 https://medium.com/@jehy/hijacking-domain-using-github-pages-41c80ac57523 - Nicolas Massart

4

目前接受的答案部分是错误的。

只要你先声明域名并将其设置在你的存储库中,你就是安全的。

但是,将 CNAME 链接到特定帐户实际上并没有任何作用。它过去可能有效,但现在已经失效了。即使你使用你的账户名称设置了 CNAME,如果你没有在存储库中设置它,任何人仍然可以使用你的域名。你可以在这里查看我关于这个问题的详细帖子(链接)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接