【发布时间】:2012-04-03 10:26:22
【问题描述】:
我的用户名和密码存储在带有河豚加密的 mysql 数据库中。 在 php 中,我可以像这样加密密码:
crypt($pwd, _SALT_)
$pwd = 'userpwd' 和 _SALT_ = $2a$07... 的位置
我正在寻找一种在带有mod_auth_mysql 的虚拟主机中使用用户表的方法。我知道使用 Auth_MySQL_Encryption_Types PHP_MD5 的 md5 是可能的,但我宁愿继续使用河豚。
我如何告诉 mysql_auth 使用河豚?我在哪里输入盐?
编辑:
这里的基本问题是我必须在 vhost 文件中的关键字之间使用“_”。所以它看起来像:
<Location /webdav>
AuthType Basic
AuthName "jst-development"
AuthUserFile /dev/null
AuthBasicAuthoritative Off
Auth_MySQL on
Auth_MySQL_Authoritative on
Auth_MySQL_DB user
Auth_MySQL_User user
...
而不是[取自http://modauthmysql.sourceforge.net/CONFIGURE]
AuthMySQLDB authdata
AuthMySQLUserTable user_info
AuthMySQLGroupField user_group
停止 apache 抱怨语法。有人可以告诉我原因或告诉我AuthMySQLSaltField <> 的“_”语法
//编辑 2: 版本:libapache2-mod-auth-mysql (4.3.9-13ubuntu1)
//编辑 3: 服务器版本:Apache/2.2.14 (Ubuntu) 使用不带“_”的“官方语法”时的确切错误: 无效的命令“AuthMySQLDB”,可能拼写错误或由服务器配置中未包含的模块定义
【问题讨论】:
-
既然 apache 抱怨...你有哪个确切版本的 apache?也许你得到的确切错误是什么(粘贴)?
-
"无效命令 'AuthMySQLDB',可能拼写错误或由未包含在服务器配置中的模块定义" 服务器版本:Apache/2.2.14 (Ubuntu)
标签: php mysql authentication webdav virtualhost