有没有办法在不使用服务器端语言的情况下密码保护HTML页面?

Ani*_*dya 1 html javascript passwords client

我有一系列相互关联的网页,我想通过要求用户提供登录名和密码来限制对这些页面的访问.但是,我的托管帐户目前没有为服务器端脚本提供任何工具 - 有没有办法只使用客户端脚本来实现这个目标?

我想知道以下程序是如何工作的 -

http://www.myzips.com/software/HTML-Password.phtml

澄清:感谢您的投入.但是,如果我正在配置Web服务器,那么用户是否可以输入用户名和密码?

Nei*_*ken 11

无法创建安全的客户端脚本.如果用户有权访问它,那就不安全了.

如果您的主机正在运行Apache,您可以使用.htaccess来保护文件夹,在IIS上您可以通过目录安全性来执行相同操作.

  • 这个答案并不完全准确 - 如果用户可以访问它,如果使用用户不知道的密钥对其进行加密,它仍然是安全的。请参阅 [Denis 的回答](http://stackoverflow.com/a/439029/2234742) 的概述,以及 [我的回答](http://stackoverflow.com/a/31013664/2234742) 的证明-概念外的实施。 (2认同)

Max*_*ter 7

以下是我自己实现的使用加密的此问题有效解决方案

这里的一些用户建议使用基于加密的方法来保护客户端密码。我也需要这个功能,所以我自己实现了。密码使用 PBKDF2 散列,然后使用 AES256 加密页面。

该工具托管在这里:

https://www.maxlaumeister.com/pagecrypt/

此处提供源代码:

https://github.com/MaxLaumeister/pagecrypt


项目描述,来自项目页面:

PageCrypt - 密码保护 HTML

此工具可让您安全地密码保护 HTML 文件。与其他密码保护工具不同,此工具:

  1. 没有服务器端组件(此工具及其受密码保护的页面完全在 javascript 中运行)。

  2. 使用强加密,因此无法绕过密码保护。

您只需选择一个 HTML 文件和密码,您的页面就会受到密码保护。


Vin*_*nze 5

您可以使用以下内容创建文件.htaccess:

AuthUserFile path/to/password.txt
AuthGroupFile /dev/null
AuthName "Acces Restreint"
AuthType Basic
<Limit GET POST>
require valid-user
</Limit>
Run Code Online (Sandbox Code Playgroud)

然后,您必须创建密码文件