如何在 Apache/Windows 中轻松地用密码保护网站?

如何在 Apache/Windows 中轻松地用密码保护网站?

我有一个网站托管在 Apache 上(在 Windows 上),我想保护它,这样任何人进入都需要输入密码。这并不是一个安全堡垒,我知道这很糟糕,但总比没有好,我不想尝试任何能使它更安全的替代方案(它们真的不值得这样做)。

我希望弹出典型的 HTTP 身份验证对话框,要求访问者输入密码。每个人都有相同的密码。事实上,如果我可以让用户名为空,那就太理想了。如果不行,每个人都会有相同的用户名。

你能告诉我怎么做吗?我找到的所有教程都是针对更高级的用例,其中使用了机器的实际用户/密码。
是否可以将其设置为文件中的硬编码密码?还是我需要创建一个 Windows 用户?

答案1

谷歌搜索:

Apache htpasswd 基本身份验证


脚步:

  1. 创建 htpasswd 文件。此文件可以任意命名,并且应该是在你的 DocumentRoot 之外。 使用密码实用程序

    touch /etc/http.passwd
    htpasswd /etc/http.passwd jsilverman
    New password: 
    Re-type new password: 
    Adding password for user jsilverman
    
  2. 将以下内容添加到您的 Apache 配置中,可以在 (a) 主 apache2.conf(更集中,更易于管理)或 (b) 受保护目录中的 .htaccess 文件(更简单,更直接,不需要重启 apache)中添加

    AuthType Basic
    AuthName "Password Protected Area"
    AuthUserFile /etc/http.passwd
    Require user jsilverman
    
  3. 如果您做了(a),请重新加载 Apache,否则您就完成了。


如果发生这种情况:htpasswd:未找到命令

您可能需要安装 apache2-utils 或类似的软件包。


但是,我并不认为你搜索得非常仔细。在 WWW 上,这个过程的例子有成千上万个,可以追溯到 90 年代中期。但是我心情很烦,所以你得到的是一个真正的答案,而不是一个自作聪明的 RTFM。但真的,RTFM——Apache Web 服务器是记录最详尽的开源软件之一,就是这样。

更新:哇,你真的搜索得不太好。我只是在 Google 上搜索了“密码保护网站”,结果基本上是这个答案。

答案2

是的,您可以通过.htaccess文件或您的来执行此操作httpd.conf

这是一个构建用户名/密码文件的生成器: http://tools.dynamicdrive.com/密码/
以下是 Apache 相关文档:http://httpd.apache.org/docs/2.0/howto/auth.html

相关内容