如何保护github-pages中的目录?

Mus*_*afa 16 jekyll github-pages

我正在使用Jekyll构建我的个人网站并在github-pages上托管它.我想有一个密码保护区(只是密码保护目录,而不是整个网站).我尝试了一些选项和技巧来开始htaccess工作但失败了.

我想知道是否有人设法使用htaccess或任何其他方法来保护github页面上的目录.

列出对我不起作用的解决方案(或者我没有让它们工作):
*Flohei.
*Jeremy Ricketts.

Car*_*ini 9

GitHubPages(如Bitbucket Pages和GitLab Pages)仅提供静态页面,因此唯一的解决方案是客户端(Javascript).

解决方案可以是,而不是使用真实身份验证,只是与所有授权人员共享秘密(密码),并实施以下方案之一:

  1. 将所有私有文件放在(未列出的)子目录中,并使用所选密码的哈希命名.索引页面会询问您(使用Javascript)密码并构建计算哈希的正确起始链接.

    例如:https://github.com/matteobrusa/Password-protection-for-static-pages

    PRO:保护整个子目录树的非常简单的方法

    缺点:

    • 可能的攻击:嗅探以下请求以获取子目录的名称
    • 托管站点上的管理员可以访问完整内容
  2. 使用密码加密页面并使用javascript动态解密

    例如:https://github.com/robinmoisson/staticrypt

    PRO:没有纯文本页面代码(在客户端进行解密)

    缺点:

    • 只需一个页面,需要在每次刷新时重新插入密码
    • 管理员可以更改您的Javascript代码以在插入时获取密码

  • 我还在这里找到了另一个加密单个 html 页面的工具:https://github.com/MaxLaumeister/clientside-html-password (2认同)
  • @LeszekSzary 冒着过度促销的风险,值得一提的是,我的工具(您链接的)使用密钥派生和加盐,因此理论上它比 staticrypt 更安全。 (2认同)

小智 5

一种选择是使用 Cloudflare Access 来控制 DNS 级别的访问。使用 Cloudflare for DNS 为您的 Git 页面设置自定义域后,您可以使用其访问规则策略要求在指定的 url 路径进行身份验证。

如果有人熟悉绕过 DNS 块,这仍然可以绕过。

https://www.cloudflare.com/products/cloudflare-access/


Dav*_*uel 3

你可以尝试一下Jekyll Auth,如果你遇到麻烦,这个问题可能会很有用

  • 此解决方案要求访问者拥有 github 帐户。它对我不起作用(我正在大型学术合作中共享该页面)。我正在寻找带有用户名和密码的基本 http 保护。 (2认同)