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

时间:2019-06-21 19:22:31

标签: html security passwords

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

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

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

就上下文而言,我是一名设计师,这是我不希望其公开使用或无法被搜索引擎索引的其他工作示例。

1 个答案:

答案 0 :(得分:2)

在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