Как и обещал, я возобновляю писать статьи, хотя из отдыха решил пока не возвращаться, благо институт уже закончил и к 1-му сентября совсем не обязательно возвращаться домой. Поэтому буду работать пока на Чёрном море. И в этой первой статье я разберу достаточно простую, но важную тему - блокировку пользователя на сай...

Как заблокировать пользователя на сайте

Как и обещал, я возобновляю писать статьи, хотя из отдыха решил пока не возвращаться, благо институт уже закончил и к 1-му сентября совсем не обязательно возвращаться домой. Поэтому буду работать пока на Чёрном море. И в этой первой статье я разберу достаточно простую, но важную тему - блокировку пользователя на сайте.

Не всегда все пользователи являются порядочными людьми и для многих обычная блокировка не подходит. Поскольку времени у них вагон, они могут часами регистрировать всё новые и новые аккаунты. Помимо этого бывают, что Ваш сайт умышленно атакуют бесконечными подключениями. Что в первом, что во втором случае поможет блокировка IP, например, в htaccess:

Order Deny,Allow
Deny from 127.0.0.1

Поскольку IP-адрес может быть динамическим (допустим, нехороший пользователь снова вернулся), то можно заблокировать всю подсеть:

Order Deny,Allow
Deny from 127.0.

Но в этом случае могут пострадать и невинные пользователи из его подсети.

Поэтому если Вы увидели, что злоумышленник вернулся, то не надо блокировать даже его IP, не говоря уже про всю подсеть. А лучше сделать следующее:

  1. При попытке авторизации под заблокированным аккаунтом ставить пользователю cookie, сообщающую о том, что данного пользователя тут быть не должно.
  2. На всех страницах сайта необходимо делать проверку на существование этой cookie. Если у Вас движок, то, скорее всего, достаточно будет внести эту проверку в index.php.
  3. Если эта cookie найдена, то показывать пустую страницу или выводить какое-нибудь сообщение о запрете доступа к сайту.

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

Если же вдруг и это не помогло, тогда придётся действительно блокировать всю подсеть.

Краткое резюме о том, как заблокировать пользователя на сайте:

  1. Заблокируйте просто аккаунт. В 95% случаях этого уже достаточно.
  2. Заблокируйте по cookie.
  3. Заблокируйте IP-адрес пользователя.
  4. Заблокируйте всю его подсеть.

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