【问题标题】:How can I use md5 passwords in .htpasswd file?如何在 .htpasswd 文件中使用 md5 密码?
【发布时间】:2012-08-02 15:32:05
【问题描述】:

您好,我正在尝试设置.htaccess.htpasswd 文件以查看用户是否可以访问特定目录。当新用户注册时,他们的密码会使用 PHP md5() 函数加密,然后与其他登录信息一起存储在数据库中。我想将他们的一些加密密码动态添加到我的.htpasswd 文件中,以便他们可以进入子成员部分。我遇到了麻烦,因为.htpasswd 文件可以使用crypt() 函数加密的密码,但我不知道如何让它使用他们的 md5 加密密码。

【问题讨论】:

标签: php .htaccess .htpasswd


【解决方案1】:

“我认为您可以使用 htpasswd 的 -m 参数在 htpasswd 文件中明确指定 apache 使用 md5s 作为密码”

我刚刚在 Ubuntu 12.04 和更新版本中发现了完全相反的情况,它默认为 md5,你必须使用 -d 标志才能让它使用 Crypt。其他地方也可能是这种情况,我似乎找不到 htpasswd 的版本号。

【讨论】:

    【解决方案2】:

    Documentation 说:

    htpasswd 使用修改后的 MD5 版本加密密码 Apache,或系统的 crypt() 例程。由 htpasswd 管理的文件可能 包含两种类型的密码;一些用户记录可能有 MD5 加密的密码,而同一文件中的其他密码可能有 使用 crypt() 加密的密码。

    我认为您可以使用 -m 参数明确指定 apache 在 htpasswd 文件中使用 md5s 作为密码 htpasswd

    如果您不想或不能使用 htpasswd 工具,您可以从 PHP 创建基于 crypt() 的密码:

    $clearTextPassword = 'some password';
    $password = crypt($clearTextPassword, base64_encode($clearTextPassword));
    

    【讨论】:

      猜你喜欢
      • 2012-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-30
      • 2010-12-30
      • 2023-03-30
      • 2012-09-21
      相关资源
      最近更新 更多