Обнаружение нескольких учетных записей с помощью файлов cookie

StackOverflow https://stackoverflow.com/questions/1993267

  •  22-09-2019
  •  | 
  •  

Вопрос

Я хочу обнаружить несколько учетных записей в браузерной игре:Если у пользователя более одной учетной записи, я хочу это знать.

По разным причинам я больше не хочу обнаруживать несколько учетных записей путем сравнения 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, не так ли?

Заранее спасибо!

Это было полезно?

Решение

Если вы создадите журнал, содержащий дату входа в систему, IP-адрес, хэш и идентификатор пользователя, вы сможете получить представление о том, имеет ли пользователь несколько учетных записей или нет.Обнаружить это автоматически будет практически невозможно. Если я навещаю своего друга, я могу войти на его компьютер, чтобы проверить свою учетную запись?

Так что запишите все данные, а затем «мультихантер»-человек проверит, тот ли это игрок или нет.

Другие советы

Хранить значения в куках еще хуже, чем сравнивать IP, имхо.Файлы cookie очень легко изменить/удалить, а изменить IP-адрес гораздо сложнее.

Я думаю, что лучше всего иметь какое-то базовое ИИ-решение, которое помечает подозрительные аккаунты.Таким образом, ИИ должен уловить несколько входов в систему с одним и тем же IP-адресом (это может быть совместное использование IP-адреса или использование нескольких браузеров одновременно).Также в кратчайшие сроки просмотрите выходы и входы в систему с одного и того же IP-адреса с разными учетными записями.Попробуйте найти имена хостов и использовать это, поскольку DHCP интернет-провайдера иногда дает клиентам новый IP-адрес, но имя хоста остается прежним.

Дело в том, что не существует решения, основанного на одной части информации.

Кстати, еще одно решение, которое приходит на ум, — позволить пользователям подтвердить свою учетную запись, отправив SMS с предложением заплатить очень небольшую сумму (например, 1 доллар), в этом случае регистрировать много учетных записей нецелесообразно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top