ソリューションは、あるに:
- 長すぎないセッション継続時間を持っている:ユーザーがアクティブでない場合、それはそれはそれが動作するだけの方法です(期限切れになります -
- ユーザーがログインするときに、彼が認識するために必要なものを含むクッキーを設定します。
- (クッキー、アクティブなセッションがない場合)、そのクッキーに含まれている情報を使用して自動的にログインし、同時にセッションを再作成します。
この方法:
- あなたは
- 正当な理由なくして、「アクティブ」セッションの数千人を持っていないあなたは、セッションが
を仕事とあなたが持っている標準的な方法を保ちます少なくともユーザの視点からは、「夢中にならない」という利点があります。
「通常の」セッションでは、ユーザーがブラウザを閉じるとセッションIDを含むCookieが削除されるため、セッションの存続期間に関係なく切断されます。私が提案するソリューションで
は、あなたはクッキーは、ユーザーが手動でアウトにログインすると、あなたが持っている、しかし、それは意味
ユーザーのコンピュータ;-)に保持する期間を設定します一つです彼のセッションとクッキーの両方を削除することはもちろんです - だから、すぐに再ログインすることはありません。もちろん
、あなたがクッキーに設定したものについて注意する必要があります:クッキーは非常に安全ではありませんので、それにパスワードを保存しない、例えば;-)
実際に、このようなやり方は、「私を覚えている」機能がしばしば機能することです。ただし、ここであなたのユーザーは「私を覚えてください」というチェックボックスをオンにする必要はありません;-)
この種のものを開発する時間がなければ、かなり素早く汚い方法がありますすべてのページでAjaxリクエストを使用すると、サーバー上のPHPページに「ping」します。これによりセッションはアクティブに保たれます(ただし、これはかなり良い方法ではありません。サーバー上では、無駄なリクエストがたくさんあります...ユーザーがブラウザを閉じない限り動作します)。
と:可能な自動ログイン機能が動作することができる方法で次のように読んでください私はそれをデータベースに保存しました。ページが呼び出されると、システムのクッキーがチェックされ、両方が一致した場合はデータベースのものと一致します。それ以外の場合はログインしていない人を表示します。そして、人がログアウトすると、クッキーをnullに設定します。 これは正しい方法ですか?これは安全ですか? – developer
少なくとも私には似ているようだ - 男のコンピュータを使っている人は誰でも自動的にログオンするので、決して「完璧なセキュリティ」にはならないだろうが、これで十分だと思う:-) –
私はセキュリティを理解している問題。まあありがとうMartin :-) – developer