1

ブラウザ ゲームで複数のアカウントを検出したい: ユーザーが複数のアカウントを持っている場合、これを知りたいです。

さまざまな理由から、IP を比較して複数のアカウントを検出することはもうしたくありません。ユーザーは IP を共有でき、IP は簡単に変更できます。したがって、これは良い方法ではありません。

代わりに、Cookie を使用してアカウントを検出したいと考えています。これは良い解決策だと思いますか?

<?php
$uniqueHash = md5($_SERVER['REMOTE_ADDR'].mt_rand(1, 100000)); // identify a single user
if (isset($_COOKIE['uniqueHash'])) {
    // UPDATE dbTable SET uniqueHash = '".$_COOKIE['uniqueHash']."' WHERE id = x
}
else {
    setcookie('uniqueHash', $uniqueHash, time()+3600*24*30, '/', '.domain.com', FALSE, TRUE)
}
?>

その後、データベース テーブルから同じ uniqueHash 値を持つすべてのユーザーを選択できます。

これは改善可能ですか?それとも完全に悪い解決策ですか?

フラッシュクッキーはどうですか?彼らの方がいいですよね?しかし、自分のサイトに Flash がない場合は使用できませんよね?

前もって感謝します!

4

2 に答える 2

3

ログイン、IP、ハッシュ、およびユーザー ID の日付を含むログを作成すると、ユーザーがマルチ アカウントであるかどうかを判断できる場合があります。それを自動的に検出することはほぼ不可能です。友人を訪問した場合、彼のコンピューターにログインして自分のアカウントを確認することはできますか?

したがって、すべてのデータをログに記録し、「マルチハンター」の人間が同じプレーヤーであるかどうかを調べます。

于 2010-01-02T23:34:24.800 に答える
1

値を Cookie に保存することは、ip の imho を比較するよりもさらに悪いことです。Cookie の変更/削除は非常に簡単ですが、IP の変更は非常に困難です。

疑わしいアカウントにフラグを立てる基本的な AI ソリューションを用意するのが最善の方法だと思います。そのため、同じ IP で同時に複数のログイン (IP 共有または同時に複数のブラウザーである可能性があります) は、AI が取得する必要があるものです。また、短い通知で、異なるアカウントを使用した同じ IP からのログアウトとログインも確認してください。ISP の DHCP はクライアントに新しい IP を与えることがありますが、ホスト名は同じままであるため、ホスト名を検索してそれを使用してみてください。

ポイントは、1 つの情報に基づいた解決策がないということです。

ところで、頭に浮かぶ別の解決策は、ユーザーに非常に少額 (1 ドルなど) の支払いを許可する SMS を送信してアカウントを確認させることです。この場合、多くのアカウントを登録することは魅力的ではありません。

于 2010-01-03T00:13:43.823 に答える