1

我正在一个网站上工作,当用户注册时,他们将使用 proftpd 和 mysql 创建一个 ftp 用户。我想知道如何对用户进行身份验证,因为我以前从未见过以这种方式存储的密码。

INSERT INTO `ftpuser` (`id`, `userid`, `passwd`, `uid`, `gid`,`homedir`,`shell`, `count`, `accessed`, `modified`)
 VALUES ('', 'newuser', ENCRYPT('password'), 2001, 2001, '/var/www/accounts/newuser', '/sbin/nologin', 0, '', '');

从现在开始,我将让 php 创建目录,然后创建一个新的对应表,为用户提供所有帐户详细信息,(IE 用户配置文件和电子邮件选项等)所以从这里开始,我一直存储密码的方式一直是 sha1("username:password"),所以声明是

$hashpass = sha1(strtoupper($_POST['username']));
$query = <<<SQL
SELECT id
FROM accounts
WHERE password = :hashpass
SQL;
$resource = $this->db->db->prepare( $query );
$resource->execute( array (
":hashpass" => $hashpass,
));
if($resource->rowCount() == 0 ) {
return "Error";
}
else {
//Set the Session
}

我不知道该怎么做是如何查询 proftpd 存储的密码。任何输入将不胜感激。

4

0 回答 0