2010-01-02 3 views
1

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

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

После этого я могу выбрать всех пользователей, имеющих одно и то же уникальное значениеHash из таблицы базы данных.

Возможно ли это? Или совсем плохое решение?

Что относительно флеш-печенья? Они лучше, не так ли? Но я не могу использовать их, когда у меня нет вспышки на моем сайте, не так ли?

Заранее благодарен!

+2

И что заставляет вас думать, что печенье сложнее изменить, чем IP-адреса? –

+1

Хм ... Вы правы, их не сложнее изменить. Но если пользователь обнаружит cookie, я могу быть уверен, что у него несколько учетных записей. Если я обнаруживаю это через IP, я не могу быть абсолютно уверен. – caw

ответ

3

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

Итак, запишите все данные, а затем посмотрите на «многоходовой» взгляд на человека, если его тот же игрок или нет.

+0

Это, вероятно, более легкое решение. Раньше я играл в веб-игру под названием Travian с несколькими сотрудниками, и один человек написал быстрый инструмент для обмена кукисами, когда он вошел в свои другие аккаунты. Мы предполагаем, что единственный способ, которым его поймали, - это человек, сравнивающий его время входа в его IP-адрес. – David

+0

Да и создайте приложение Lucene/SOLR, чтобы легко и быстро находить информацию в журнале. –

+1

Большое спасибо, вы убедили меня позволить людям проверять журналы для нескольких учетных записей. – caw

1

Сохранение значений в файлы cookie даже хуже, чем сравнение ipho imho. Файлы cookie очень легко меняются/удаляются, а смена ip намного сложнее.

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

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

Btw, еще одно решение, которое приходит на ум, - это позволить пользователям подтвердить свою учетную запись, отправив SMS-сообщение, позволяющее им заплатить очень небольшую сумму (например, 1 доллар США), в этом случае не очень удобно регистрировать многие учетные записи.

+0

Спасибо, вот как я собираюсь это сделать сейчас :) – caw