0

ユーザーがアプリケーションに簡単に接続できる方法を探していますが、めったにありません。私がやりたいことは、ユーザーのコンピューターに 1 年間有効な Cookie を保存できるようにすることです。Cookie が有効な状態で Web サイトにアクセスすると、自動的にログインされます。

私が提案する解決策は次のとおりです。最初のログイン時に、ユーザーの IP アドレス、最終ログイン日、乱数をすべてハッシュ化した Cookie を作成します。また、ユーザー ID と IP アドレスも Cookie に保存します。これらの値もデータベースに保存されます。数か月後に再びサイトにアクセスし、IP アドレス、ID、およびハッシュがデータベースの値と一致すると、自動的にログインされます。新しいハッシュが計算されます。これらのいずれかが一致しない場合、ユーザーは再度ログインするように求められます。

この設計に明らかなセキュリティ上の欠陥はありますか? IP アドレスの変更については心配していません。これは大学キャンパスの教授向けです。

前もって感謝します、 --デイブ

4

3 に答える 3

1

あなたの質問では、このシステムが他の標準的な長寿命 Cookie とどのように違うのかが明確になりません。これらは重大なセキュリティ上の問題なしに Web 全体で使用されるため、同様の方法で Cookie を使用できない理由はないと思います。

于 2009-11-20T00:47:38.193 に答える
0

この設計に明らかなセキュリティ上の欠陥はありますか?

いいえ。

于 2009-11-20T00:51:51.603 に答える
0

誰かがシステムを理解した場合、それは間違いなくセキュリティ上のリスクだと思います。正直なところ、少なくともデータベース部分に保存することについては、そのセットアップを再考します。Cookie が誰かのコンピュータに 1 年間残ることはめったにないという事実は言うまでもありませんが、ほとんどの人は Cookie をはるかに頻繁に消去します。

しかし、あなたが尋ねたので、それを作成するのはとても簡単です:

$expire = time()+(60*60*24*365);

setcookie("login", "mycookie", $expire, "", "yoursite.com" );

「mycookie」の代わりに、話していたトークンを挿入できます。それが少し役立つことを願っています。

于 2009-11-20T00:52:57.560 に答える