Назад | Перейти на главную страницу

Успешно заблокировать пользователя на сайте навсегда?

У меня есть сайт в социальной сети, и я хочу запретить пользователю заходить на него. Я добавил его IP-адрес в запретный список в .htacess file и на уровень php для блокировки этого пользователя, но он продолжает возвращаться с другими IP-адресами.

Как я могу навсегда забанить пользователя, как бы он ни пытался повторно зайти на сайт?

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

Я бы посоветовал сделать первые сообщения модератором или какой-то системой голосования, и тогда ни одно из его сообщений не будет оставаться видимым надолго.

На самом деле это человеческая проблема, а не столько техническая.

Благодаря Tor и бесчисленное множество других прокси-сервисов, вы не можете зависеть от запрета IP-адресов для блокировки пользователя.

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

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

Когда новый пользователь регистрируется, используйте такую ​​услугу, как Twilio отправить на свой телефон текстовое сообщение с коротким паролем. Они должны правильно ввести этот код, чтобы подтвердить свою учетную запись. Это похоже на то, как Craigslist (пытается) не допустить спамеров, а также часто используется онлайн-банкингом как своего рода двухфакторная система аутентификации для бедняков.

Мы справляемся с этим по-другому. Наряду с временными блокировками IP (которые легко обойти) у нас есть файл cookie, который идентифицирует его как заблокированного. И если он вернется, тем не менее у нас есть специальная группа пользователей, которую мы ему назначим. Он не может заметить ничего необычного, все выглядит и работает как положено с его стороны. Но все его действия, посты, личные сообщения и прочее невидимы для окружающих.

В конце концов ему станет скучно, потому что никто на него не реагирует (как им, если ни один из постов не виден, кроме него)

Я не могу обещать вам «успешно, навсегда», но вы определенно можете сделать много вещей, чтобы сделать его жизнь более трудной. Хватит этого, и он сдастся.

Вы уже пробовали использовать его IP-адрес для идентификации, но бесплатные прокси-серверы найти легко. Бесплатное найти труднее и анонимный прокси-серверы. Большинство прокси-серверов отправляют IP-адрес пользователя в X-Forwarded-For: заголовок. Ты можешь использовать mod_security чтобы заблокировать их.

SecRule REQUEST_HEADERS:X-Forwarded-For "@Contains 192.168.0.1"

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

Это ограничит его использование анонимных прокси и Tor. Вы можете определить, когда он использует Tor, потому что каждый запрос будет приходить с другого IP-адреса, и, вероятно, все они будут в списке выходных узлов Tor. Здесь два Примеры списков. Также доступны списки прокси.

Вы можете заставить его обходить прокси только для одного подзапроса, используя либо Flash, либо Javascript, либо даже просто ссылку на изображение. Это зависит от того, как прокси настроен на его компьютере (вы можете поместить его в браузер или ОС или использовать в качестве прозрачного прокси в сети), но независимо от его типа, он, вероятно, прокси только для портов 80 и 443. Пусть ваш веб-сайт заставит его подключиться к порту 8080, порту 25 или чему-то еще и закодировать уникальный идентификатор в запросе. Это поможет в PHP:

echo("<img src=\"http://example.com:25/".session_id().".jpg\" />");

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

Также стоит отметить, что Google Analytics присваивает уникальный идентификатор во втором «поле» (разделенном точками) своего __utma куки. Если у вас есть аналитика Google, и он не удаляет этот файл cookie, возможно, у вас уже есть достаточно, чтобы отслеживать его.

Для регистрации файлов cookie (и всех заголовков HTTP) вы можете использовать журнал судебной экспертизы.

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

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

В зависимости от того, насколько мало он знает, вы можете попробовать сохранить «Знак смерти» в виде файла cookie. Если этот файл cookie найден, обслуживайте заблокированную страницу. Он может не подумать проверить что-то подобное, особенно если вы выберете какое-то хитрое имя (Может быть, что-то связано с сеансом?)

Сообщите о нем его провайдеру. Включите подробные журналы (IP-адреса, действия, временные метки с часовыми поясами), копии административной политики вашего сайта и т. Д. Если его интернет-провайдер отказывается сотрудничать, заблокируйте его весь интернет-провайдер. Если пользователи жалуются, скажите им, что вам очень жаль, но у них есть интернет-провайдер, который отказывается бороться со злоупотреблениями.

Удивительно, но если вы сделаете это правильно и ответственно, большинство интернет-провайдеров будут сотрудничать с вами. Они не будут идентифицировать пользователя для вас, но они будут иметь дело с пользователем.

Если он подключается через прокси, забаньте прокси.

Это может работать, а может и не работать, но это все, что у вас есть.

Вы действительно не можете.

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

Вы можете использовать файлы cookie, Flash cookie или отпечатки пальцев браузера чтобы попытаться запомнить его независимо от его IP-адреса, но их довольно легко обойти. Более продвинутый, но столь же простой способ обойти бан (при условии, что он знает, что искать) - захватить его MAC-адрес и заблокировать его.

Вы также можете рассмотреть вопрос о запрете IP-адресов бесплатных общедоступных прокси-серверов и запретить регистрацию со списком известных бесплатных поставщиков веб-почты, чтобы сократить его варианты, но даже в этом случае дешевую учетную запись у поставщика VPN и / или малоизвестный провайдер веб-почты может их обойти.

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

Если он действительно настолько серьезная проблема, вы можете использовать файлы cookie и / или отпечатки пальцев браузера, чтобы идентифицировать его и перенаправить на копию сайта, которую может видеть только он, или сделать свои сообщения и действия только читаемыми. Для него - чтобы он мог троллить, пока ему не надоест, думая, что он обходит запрет, но на самом деле вы создали небольшую частную песочницу только для него, и его дерьмо никого не касается. Я делал это в прошлом с некоторыми более неприятными форумными троллями, но если они действительно, действительно настойчивы и действительно, действительно мерзки, это больше усилий, чем оно того стоит, ИМХО.

Читать http://www.codinghorror.com/blog/2011/06/suspension-ban-or-hellban.html.

Вы можете попробовать заблокировать пользователя по IP.

Пользователь, заблокированный в аду, невидим для всех остальных пользователей, но, что особенно важно, не для себя. С их точки зрения, они обычно участвуют в жизни сообщества, но им никто никогда не отвечает. Они больше не могут разрушить сообщество, потому что фактически являются призраками. Это умный способ обеспечить соблюдение правила «не кормить тролля» в сообществе. Когда ничто из того, что они публикуют, никогда не получает ответа, заблокированному пользователю, вероятно, станет скучно или он расстроится и уйдет. Я тоже в это верю; Если я чему-то научился, читая «Великий мозг» в детстве, так это тому, что молчаливое обращение - самое жестокое наказание из всех.

Идея состоит в том, что он не узнает, что его действительно забанили, и больше не потрудится изменить свой IP.

Вы также можете попробовать реализовать «cookie» на основе флеш-памяти. Они отличаются от обычных файлов cookie HTTP тем, что некоторые браузеры не удаляют их при удалении файлов cookie своего браузера. (больше информации: http://en.wikipedia.org/wiki/Local_shared_object)