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