使用 .htaccess 和 authfile 保护 CGI 脚本的不同部分
我正在使用 bluehost 在我的共享托管帐户上设置一个 Mercurial 服务器。我确实有 ssh 访问权限,但无权访问 apache 配置。基本上,mercurial 服务器运行一个 cgi 脚本,在我的例子中是domain.com/repos/hg.cgi(用于访问服务器上的所有存储库)。我使用 .htaccess 文件和 auth 文件保护“repos”目录。
但是 Mercurial 的工作方式,例如存储库“堆栈”是这样访问的: domain.com/repos/hg.cgi/stack
这会带来一个问题,因为身份验证发生在 repos 目录中,并且所有有权访问该目录的用户现在都可以访问所有存储库。
有没有办法仅使用 .htaccess 文件来保护各个存储库?
I am setting up a mercurial server on my shared hosting account with bluehost. I do have ssh access but do not have access to the apache config. Basically the mercurial server runs off one single cgi script, in my case domain.com/repos/hg.cgi (for access to all repositories on the server). I have protected the "repos" directory using a .htaccess file and an auth file.
But the way mercurial works, that for example the repository "stack" is accessed like this:
domain.com/repos/hg.cgi/stack
This poses a problem, since authentication happened in the repos directory, and all users that have access to that now have access to all the repositories.
Is there a way to protect the individual repositories using just a .htaccess file?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在每个存储库的
.hg/hgrc
文件中,您可以列出可以和不能访问它的用户:Within each repository's
.hg/hgrc
file you can list users that can and can't access it:如果您只想本地主机访问它,请使用
If you only want the localhost to access it use
在具有 SSH 访问权限的共享托管系统上,如果您有兴趣,可以使用 hg-gateway。这样您就不必处理输入或保存 https 密码的问题。
On a shared hosting system where you have SSH access, if you are interested, you can share repositories via shared SSH using hg-gateway. That way you dont have to deal with typing or saving https passwords.