したがって、ここにある 2 つのツールは IP と Cookie です。
IP はユーザーに固有のものではありません。それらを忘れてください。IP はルーティング データの配信メカニズムであり、ユーザーを識別するには粗すぎます。
Cookie はブラウザー間で共有されないため、Cookie クロスブラウザーを使用しているユーザーを識別することはできません。
さらに、Web はステートレスです。Web サイトが開いている間、ブラウザーとサーバーの間に持続的な接続はありません。ページが読み込まれると、ブラウザーで開いたままになりますが、サーバーとの間の通信は行われません。
このような状況を考えると、IP や Cookie を使用して要求したことを実行することは事実上不可能です。少なくとも、ユーザーが自分のアカウントからログアウトしたり、同じ IP を共有する人々が互いにデッドロックしたりするなど、いくつかの副作用はありません。
すべきことは、HTTP 要求のステートレスな性質を取り入れた方法でアプリを作成することです。一意の Cookie を付与することで、ユーザーを識別できます。逆に、Cookie を持たないユーザーは新規ユーザー (別のブラウザーを含む) です。この情報を活用してください。他の何かを行う前に特定のプロセスを終了する必要がある場合は、この状態をサーバー側で維持し、特定のユーザーに関連付ける必要があります。つまり、「Cookie XYZ を持つユーザーは、次にアクション C を実行する必要があります」の場合、ユーザーがサーバーに HTTP リクエストを送信すると、サーバーにリクエストを評価させ、ユーザーが行うべきことと一致するかどうかを判断させます。要求をリダイレクトまたは拒否することにより、適切に応答します。