通常、クライアントと対話するWebサイトを開発するときは、ユーザー名またはユーザーIDを使用して構成などを保存していました。しかし、今はログインシステムのないウェブサイトを開発しているので、「いいね」や「アクセスしたページ」などを保存する必要があります。
インターネットプロトコル(IP)を試しましたが、訪問者がNATまたはプロキシを使用している場合は機能しません。
すべてのユーザーに一意のIDを作成し、データベースに保存するにはどうすればよいですか?
ちなみに私はPHPを使っています。
Cookie、IP、およびセッションの組み合わせを使用する必要があります。
これは、ユーザーデータを長期間保存しようとしている場合の災害のレシピのように聞こえます。
私がお勧めします:
この問題は、ユーザーが閲覧履歴/ Cookieをクリアしたときに発生しますが、すべてそのハッシュに基づいているため、そのユーザーのアクティビティを取得する方法はありません。
回避策の1つは、ハッシュを記載したメールをユーザーに送信し、アクティビティ履歴を再初期化する方法をユーザーに指示することだと思います。
あなたは彼らが彼らのハッシュを入力することができる特別なページを作成しなければならないでしょう、そしてあなたのシステムは彼らのシステムのクッキーをリセットするでしょう。
do {
$uniqueID = uniqid();
$exists = mysql_num_rows('SELECT * FROM table WHERE id = $uniqueID');
} while ($exists == 1)
同様のコードを使用して一意のIDを生成していますが、正常に機能します。または、さらに簡単にするために、uniqid()
関数を使用することもできますが、実際には同じ結果が2つ生成されることはありません。