18

ゲーム用のいわゆる AAC (Automatic Account Creator) を開発しています。基本的には、アカウント、プレーヤー、およびプレーヤー用のその他の機能を作成する機能を備えたサイトです。サーバーはSHA1とプレーンのみをサポートしています-これは完全に安全ではありません. ソースコードに飛び込んで変更を加えることができません。とにかくSHA1を使用することがあれば、私は感謝します。BCrypt について読んだばかりです。すばらしいですが、ソース コードを BCrypt に合わせて変更することはできません。私は次のようにSHA1を登録することができました:

$password = $input['password'];
$password = sha1($password);

しかし、私は単にログインできません。私はそれを間違っていますか?Laravel ではログインできないようです。

私はget_registerとを持っています。post_registerまた、 と も持っていget_loginますpost_login。ログインするには、post_login で何かを変更する必要がありますか? ヒントはありますか?

Laravel の php サーバー (php artisan serve) と phpMyAdmin を WAMP で使用しています。メソッドを介してDBをチェックしているときにLaravelがチェックすると思いますAuth::attempt

4

6 に答える 6

5

このような場合には、実際にはもっと簡単な (少なくとももっと単純な) 解決策があります。ユーザーモデルでこのメソッドを使用して、ハッシュを「偽造」できます。

public function getAuthPassword() {
    return Hash::make($this->password);
}

そして、独自のハッシュ関数で入力をハッシュします。たとえば、パスワードが現在sha1でハッシュされている場合、次のようにしてユーザーを検証できます

Auth::attempt(array('email' => $email, 'password' => sha1($password))

このようにするのは良いコーディング方法とは思えませんが、hash モジュールを書き直すよりは確かに簡単です。

于 2014-05-01T14:21:38.417 に答える