Jekyll 如何保护github页面中的目录?

Jekyll 如何保护github页面中的目录?,jekyll,github-pages,Jekyll,Github Pages,我正在使用Jekyll构建我的个人网站,并将其托管在github页面上。我想有一个密码保护区(只是密码保护的目录,而不是整个网站)。我尝试了一些选项和技巧来让htaccess工作,但失败了 我想知道是否有人设法使用htaccess或任何其他方法来保护github页面上的目录 列出对我不起作用的解决方案(或我无法让它们发挥作用): * *您可以尝试一下,如果遇到问题,.GitHubPages(如Bitbucket页面和GitLab页面)只提供静态页面,因此唯一的解决方案是客户端(Javascrip

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

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

列出对我不起作用的解决方案(或我无法让它们发挥作用):
*
*

您可以尝试一下,如果遇到问题,.

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

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

  • 将所有私有文件放在(未列出)子目录中,并使用所选密码的哈希值命名该子目录。索引页面要求您(使用Javascript)输入密码,并构建正确的开始链接来计算散列

    例如,见:

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

    缺点:

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

    例如,见:

    赞成:周围没有明文页面代码(解密发生在客户端)

    缺点:

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

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

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


    我不认为GitHub使用Apache为他们的页面提供服务。您找到解决方案了吗?该解决方案要求访问者拥有GitHub帐户。它对我不起作用(我正在一个大型学术合作机构中共享该页面)。我正在寻找具有用户名和密码的基本http保护。我还在这里找到了另一个用于加密单个html页面的工具:@LeszekSzary冒着过度宣传的风险,值得一提的是,我的工具(您链接的工具)使用密钥派生和加密,因此理论上比staticrypt更安全。