Блокировка пользователя

105
26 сентября 2021, 22:00

Блокирую я пользователя по IP, он его меняет и блокировки нет. Блокирую я его по ключу, который записан в cookie или в localStorage, он его чистит и блокировки нет. Так как я устал бороться со спамерами на своём сайте, которые обходят блокировку, как нефиг делать, то хотелось бы спросить у Вас - как заблокировать пользователя так, чтоб даже через другой браузер он не смог войти на мой сайт и выдавалось сообщение об блокировке? Есть ли способы борьбы?

Answer 1

Тут нужен комплексный подход:

  1. Определение бота путем рендера js'ом поля комментария например, либо любого другого поля формы.
  2. Смотреть по юзер агенту если агент не браузер и не поисковый бот то блок.
  3. Авторизация и регистрация либо аутентификация.
  4. Премодераци и постмодерация

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

Так же косвенно можно определить:

  1. User-agent браузер, версию и ос
  2. Локализацию пользователя (по гео-данным)
  3. В локал сторедж и куки можно записать некий ключ.

По совокупности этих признаков можно примерно определить тот же пользователь это или нет. Я бы сделал, некую процентную гродацию что то вроде (u-a+geo+local_storage)(old)/(u-a+geo+local_storage)(new)*100 = неблагонадежность. так вы можете получить процент на сколько ранее заблокированный пользователь совпадает с вновь вошедшем, а если еще учесть патерны поведения, клики по ссылкам, ввод комментария через какое либо времени и добавлять эти доли к рейтингу благонадежности, то можно будет с увереностью сказать что пользователь именно тот который был ранее на сайте. При достижения 95% неблагонадежности.

p.s. Понятно что алгоритм не из легких но надеюсь кому нибудь понадобиться.

READ ALSO
Почему не получается использовать Identity и Cookie authentication одновременно?

Почему не получается использовать Identity и Cookie authentication одновременно?

Есть база данных с логинами и паролями, по которой авторизирую пользователей с помощью cookieНо в ней есть не все пользователи

103
EF6 MySQL EDM закрывается окно

EF6 MySQL EDM закрывается окно

Установил EF6, хочу создать модель на основе уже существующей базы данныхВыбивает EDM на моменте когда появляется окно с выбором версии EF6

127
Вывод большого количества срок в RichTextBox на WPF

Вывод большого количества срок в RichTextBox на WPF

Написал небольшое приложения которое читает логи по SHH с разных серверовСейчас все работает на WinForms, но я хотел бы перенести на WPF

170
Не создается , и не заполняется таблица __EFMigrationsHistory

Не создается , и не заполняется таблица __EFMigrationsHistory

Написал классы моделей, написал DBContext, попробовал сделать миграцию, вроде бы все получилось, однако, при выполнении миграции, или обновлении...

324