ログイン/ログアウト機能を備えた Web サイトがあります。ユーザーが 2 台の異なるコンピューターから同じアカウントにログインできないようにするには、安定した手法で 100% 保証するにはどうすればよいですか?
Javascript は簡単に無効にできるため、これには使用できません。
たとえば、.NET には、ユーザーがサーバーとの接続を中止したときに実行される Session_End 関数があります。PHPでそれをどのように行うことができますか?
みんなありがとう
注:この手法では、2番目のコンピューターにログインするときに、最初のコンピューターでアカウントを効果的にログアウトします。
ユーザーがログインしたら、ユーザーのセッションIDをデータベースまたは同等のものに記録します。各ページリクエストで、ユーザーのセッションIDがアカウントのストアに保存されているセッションIDと一致していることを確認します。セッションIDが一致しないログインアカウントからのリクエストは拒否され、ユーザーはログアウトする必要があります。
それは、あなたがどのくらい深く行きたいかによって異なります。最も一般的に:
大企業は、IP アドレスもデータベースに保存します (そのため、セッション Cookie が盗まれることはありません)。