繁体   English   中英

如何使用密码保护静态网站的某个部分?

[英]How can I password protect a section of a static website?

我有一个基本的静态网站,用html,css和一些用于动画的JavaScript编码。 我不会从访问者那里收集任何信息,所以我只需要基本的安全性即可使用密码打开目录或页面。

有没有简单的方法可以做到这一点? 我只有使用共享安全证书的基本(且价格便宜)托管。

理想情况下,我可以设置外观漂亮的文本字段和按钮,如果访问者使用正确的密码,它将可以解锁并重定向到目录。

就上下文而言,我是设计师,这是我不希望公开使用的其他工作样本,也不希望它们被搜索引擎索引。

在apache服务器(最基本的共享主机使用Apache)上执行此操作的最简单方法是使用.htaccess / .htpasswd文件。 (是的,.dot之前甚至都没有空格,并且末尾没有.dot。有些人将它们称为.htaccess [dothtaccess]或什至只是htaccess文件)

在要保护的目录中,将放置一个名为.htaccess的文本文件,其信​​息类似于以下内容:

AuthType Basic
AuthName "My Special Directory"
AuthUserFile /path/to/.htpasswd
Require valid-user

/path/to/.htpasswd将需要更改为.htpasswd文件的完整路径。 因此,在许多共享的托管系统上,它看起来可能类似于/home/username/domain.name/.htpasswd-通常来说,如果可以避免的话,您不想将.htpasswd文件放在public_html目录中。

从那时起,您将需要在线创建一个.htpasswd生成器,例如http://www.htaccesstools.com/htpasswd-generator/。-由于您说的是非常基本的廉价主机,因此我假设您没有具有在服务器本身上创建.htpasswd文件所需的外壳程序访问权限。

.htpasswd文件如下所示:

anyusername:$apr1$3AtMWVIs$f4OYAR1WDctQ1EFHDq0UA/

如果您有权访问该外壳程序,则可以只使用应该可以访问的htpasswd二进制文件来生成它。 如果要创建一个新文件,该命令将如下所示(-c表示创建新文件):

htpasswd -c /home/username/domain.name/.htpasswd user1

如果要将用户添加到现有文件中,则类似这样:

htpasswd /home/username/domain.name/.htpasswd user2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM