Что такое эффективный метод запрета пользователей с моего сайта?
Я знаю, что многие скрипты обрабатывают запрет IP, запрет IP-диапазона и т.д.
Я пытался создать метод, который бы блокировал пользователя как можно лучше. Я придумал:
- IP-блок
- Настройка файла cookie
- Но если у пользователя есть динамический режим и он не разрешает куки файлы, это не принесет ему особых результатов.
Я не хочу блокировать диапазон IP, потому что большинство моих посетителей приходят из одного города, и я не хочу блокировать невинных людей.
- Создание хэш-значения для нескольких переменных, поступающих от пользователя (например, браузер и версия и что-то еще) и добавление их в таблицу, в которой хранится список запрещенных пользователей или такие значения.
Спасибо за идеи.
Ответы
Ответ 1
В обычном режиме: вы не можете.
Некоторые пользователи могут блокировать получение файлов cookie или даже использовать прокси для подделки IP-адреса, вы просто не можете убедиться, что некоторые пользователи не могут получить доступ к вашему приложению.
Параметр (экстремальный) - заставить всех ваших законных пользователей устанавливать клиентский сертификат и проверять его на стороне сервера, но, как я уже сказал, это экстремальное решение. Мне не нравится устанавливать сертификаты только для доступа к некоторому сайту.
Я предлагаю вам просто отпустить его; когда-нибудь в будущем ваш тролль станет скучать и будет искать что-то более полезное для своего времени.
Ответ 2
Оба запрета на IP и файлы cookie, как вы говорите, неэффективны.
Если вам нужно заблокировать определенных пользователей, тогда вы должны только потребовать, чтобы все пользователи аутентифицировались с использованием адреса электронной почты - им не нужно указывать пароль - просто создайте случайный хеш и сохраните его против адреса электронной почты в таблице базы данных, затем отправьте URL-адрес с кликом с хешем в запросе. Затем, когда URL-адрес будет доступен, удалите cookie с хешем в нем (и датой истечения срока действия в будущем).
Затем, всякий раз, когда пользователь обращается к сайту, проверьте файл cookie на базу данных, чтобы узнать, принадлежит ли он к запрещенному адресу электронной почты.
Недостатком этого является то, что он переносит нагрузку на законного пользователя. Например. если они зарегистрированы с внутренней учетной записи интернет-провайдера, используя услугу электронной почты интернет-провайдеров, они не смогут легко получить доступ к сайту из интернет-кафе.
И, конечно же, относительно легко получить бесплатный адрес электронной почты.
С.
Ответ 3
Как правило, попытка запретить поведение лучше, чем пытаться запретить пользователей.
Во-первых, по техническим причинам часто обнаруживаются шаблоны поведения (например, вы можете запрещать слова).
Во-вторых, по психологическим причинам: люди, которые раздражают других, часто делают это, потому что они склонны воспринимать вещи слишком лично. Запрет их подкрепляет это. Это может привести к возмездию и эскалации.
Ответ 4
То, что вы уже получили, вероятно, является лучшим методом, IP ban + blocker cookie. Существует не намного больше, чем вы можете сделать, за исключением этих двух. (Я знаю, это отстой).
Ответ 5
Как отмечали другие: в основном там не намного больше вы можете сделать. Основная проблема заключается в том, что эти методы запрещают машину, а не пользователя, и ее можно легко обойти (очистка куки, изменение IP-адресов или использование другого компьютера).
То, что вы могли бы попытаться сделать, - это автоматическое обнаружение пользователя, с помощью какого-либо поведения, которое они демонстрируют, а затем быстро блокирует свою текущую машину. Плохое поведение, которое автоматически проверяет, может содержать слишком много комментариев или комментарии спама (вы можете проверить их автоматически с помощью f.i.Mollom), набрав много неправильных паролей и т.д.
Еще одна идея (но еще более навязчивая) заключается в блокировке их учетной записи пользователя и ограничении создания новых учетных записей (сначала они должны быть подтверждены администраторами).
Ответ 6
Если это для форума или что-то подобное, единственный реальный способ остановки спама/злоупотребления - это комбинация проверки изображения и создания учетной записи, активированной администратором. Оба имеют неприятные побочные эффекты и влияют на удобство использования вашего веб-сайта.
Запрет IP
Лично IP-запрет следует избегать, если они не известны спам-серверам. Запрет IP-адресов обычных пользователей является бессмысленным, поскольку большинство широкополосных IP-адресов не фиксируются, поэтому вы можете в конечном итоге запретить кому-то, кто потенциально может получить этот IP-адрес.
Cookies
Использование Cookies может быть полезным способом запретить пользователям "не ИТ", которые не знают об очистке кеша браузера/файлов cookie и т.д. Я был бы удивлен, если более 10% веб-пользователей знали, как сделайте это...