PHP 内でクライアントを識別する最良の方法は何ですか?
明らかに、IP アドレスは安全ではなく、同じ IP アドレスからの複数のクライアントを区別することもできません。
セッションを使用したくありません。
PHP 内でクライアントを識別する最良の方法は何ですか?
明らかに、IP アドレスは安全ではなく、同じ IP アドレスからの複数のクライアントを区別することもできません。
セッションを使用したくありません。
ありがたいことに、ブラウザを追跡するための一意の IDはありません。そのため、識別に対する欲求を単なる Cookie に制限する必要があります。
私はsmassey のFingerPrintingの提案 (上記) が本当に好きです。私たちの問題は、間違った資格情報を N 回入力した人をロックアウトし、他の人をロックアウトしないようにすることです。クライアント ワークステーションから、独自の何かを教えてくれる信頼できる何かを知る必要があります。HTTP プロキシがない場合、IP アドレスは機能します。プロキシはこれを混乱させます。私たちは、ユーザーの本名やプライベートなものを探しているわけではありませんが、悪者/ギャルを締め出しておきます. 良い点は、セッションや Cookie なしで実行でき、ブラウザを変更しても機能することです。どのパラメーターを使用するかはわかりませんが、PHP で使用できるものを確認します。プライマリ ローカル ストレージの合計容量が使用可能かどうか疑問に思います。Mac と Linux の互換性は、今日では必須です。
Cookie / セッション (一意の ID 付き Cookie に基づく) 以外の唯一の選択肢は、「フィンガープリント」と呼ばれます。アイデアは、クライアントについて知られている複数の小さな詳細からブラウザのフィンガープリントを作成することです。非常に簡単な例は次のとおりです。
$unique_id = md5( $client_ip . $client_user_agent );
Java VM のバージョン、フラッシュのバージョン、インストールされているフォントなどの詳細を組み合わせると、ほとんどの人が想像するよりも正確になる可能性があります。もちろん、フィンガープリントを解読するのは、新しいフラッシュ プレーヤーに更新するのと同じくらい簡単ですが、短期間の Cookie を使用しないセッションの場合は、フィンガープリントが役に立ちます。