Как надежно идентифицировать пользователей в Интернете?

Я знаю, что это большой. На самом деле, его можно использовать для некоторых вики сообщества SO.

В любом случае, я использую веб-сайт, который НЕ использует явную аутентификацию пользователей. Это публично, так как открыто для всех. Однако из-за характера службы некоторые пользователи должны быть заблокированы из-за неправильного поведения.

В настоящее время я блокирую IP-адреса, но я знаю о предполагаемом факте, что многие люди целенаправленно сбрасывают кэш своего DHCP-клиента, чтобы их интернет-провайдер назначал им новые адреса. Это факт? Я думаю, что это, безусловно, выгодная возможность для некоторых людей, которые хотят избежать отказа в доступе. Таким образом, IP-адреса оказываются неоптимальным способом справиться с этим. Но больше ничего нет, не так ли?

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

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

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


person amn    schedule 28.04.2010    source источник
comment
Если сможешь это понять, запатентуй - разбогатеешь :)   -  person Ray    schedule 28.04.2010
comment
да, многие интернет-провайдеры перевыпускают IP-адрес, просто отключив питание своего модема.   -  person David Fox    schedule 28.04.2010
comment
Что делают эти пользователи? Они делают DoS только для чтения или пишут контент? Если первое, то мало что можно сделать. Если последнее, то аутентификация — это путь.   -  person Anon    schedule 28.04.2010
comment
Они пишут контент. Но на данный момент об аутентификации не может быть и речи — у нас не так много пользователей, поэтому мы теряем больше из них, заставляя их регистрироваться. Об OpenID не может быть и речи, так как есть вероятность принятия пользователей от фиктивного провайдера OpenID. Я все еще думаю о профилировании как о идентификации...   -  person amn    schedule 28.04.2010


Ответы (4)


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

person Oren Hizkiya    schedule 28.04.2010

Из-за особенностей Интернета это практически невозможно. Да, вы можете заблокировать определенные IP-адреса, но, как вы сказали, обычному «плохому поведению» достаточно просто изменить свой IP-адрес. Даже MAC-адреса могут быть подделаны. Вот почему сайты с такими проблемами используют аутентификацию. Это единственное реальное решение.

person Cerin    schedule 28.04.2010

Как уже говорили другие, это неразрешимая проблема. Любой достаточно решительный человек всегда может найти другой путь. Каноническим примером этой проблемы является Википедия, и вы можете прочитать о различных шагах блокировки, которые они предпринимают, здесь: http://en.wikipedia.org/wiki/Blocking_policy

person mathmike    schedule 28.04.2010

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

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

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

Вы можете свести к минимуму раздражение своих пользователей, используя OAuth и принимая множество разных поставщиков, как это делает SO, вместо того, чтобы заставлять всех ваших пользователей регистрироваться и запоминать еще один набор учетных данных для входа.

person Paul Butcher    schedule 28.04.2010
comment
Спасибо за ответ. Я думаю, что OpenID, например, не подойдет, потому что в конечном итоге появятся поддельные поставщики OpenID с единственной целью нарушить идентификацию пользователя для полагающихся сторон. - person amn; 28.04.2010
comment
@amn: вы можете принимать только поставщиков OpenID, которых вы проверили и которым доверяете. - person pabouk; 21.10.2013