您好我正在尝试设置.htaccess
和.htpasswd
文件,以查看用户是否可以访问特定目录。当新用户注册时,他们的密码使用PHP md5()
函数加密,然后使用其他登录信息存储在数据库中。我想动态地将一些加密密码添加到我的.htpasswd
文件中,以便它们可以进入子成员部分。我遇到了问题,因为.htpasswd
文件可以使用crypt()
函数加密的密码,但我不知道如何使用md5加密密码。
答案 0 :(得分:6)
htpasswd使用为其修改的MD5版本加密密码 Apache,或系统的crypt()例程。由htpasswd管理的文件可能 包含两种类型的密码;一些用户记录可能有 MD5加密的密码,而同一文件中的其他密码可能有 用crypt()加密的密码。
我认为您可以使用-m
的{{1}}参数明确指定apache在htpasswd文件中使用md5s作为密码
如果您不想或不能使用htpasswd工具,可以从PHP创建基于 crypt()的密码:
htpasswd
答案 1 :(得分:3)
“我认为您可以使用-m参数htpasswd在htpasswd文件中明确指定apache使用md5s作为密码”
我刚刚在Ubuntu 12.04及更新版本中发现了相反的情况,它默认为md5,你必须使用-d标志才能使用Crypt。在其他地方也可能是这种情况,我似乎找不到htpasswd的版本号。