これは、基本的には、ハッシュ/ソルトが行われる限り、私は登録/ログインプロセス全体をやっているという安心です。ハッシュ&ソルト - クッキーによるログインの確認
私は、パスワード、塩、トークンのフィールドを持つusersテーブルを持っています(明らかに他にもありますが、これが最も重要です)。登録時には、ランダムな塩、およびランダムなトークンを生成し、それは、パスワードフィールドこれに置く:ランダム生成塩とトークンは、ユーザーがテーブルの行ことで、それぞれのフィールドに格納されていること
hash("sha256", $theirpostpassword.$randomgeneratedsalt);
。
ログイン時には、指定したユーザー名でユーザーの行からのみ塩を選択します。次に、ポストパスワードが特定の塩と連結されている行の数のクエリを実行してからログインします。私はその部分を削除していますか?
私は、すべてのページでログインを検証することを考えていました。id-username-tokenの形式がデータベースの行と一致するかどうかを確認するために、Cookieをチェックするすべてのページが機能しました。つまり、ログインするたびに、その資格情報でCookieが設定されることを意味します。
ここで、有効なログインごとにトークンを変更するだけでよいと思いますか?
洞察力のある人に感謝します。
トークンをリモートユーザのIPに依存させることになりますが、リクエストごとにその情報を使ってそのクッキーをチェックするだけでうまくいくようです。 – ncuesta
すばやい応答をいただき、ありがとうございました。私はかなり頻繁に変更される動的IPアドレスがいくつかあることを知っているので、IPチェックに反対しています。 –
多くのことが間違っている可能性があるので、認証システムを自分で作成するべきではありません。代わりにfacebook connect/twitterサインイン/ openidなどを使用してください! – Alfred