Чем так опасны DDoS-атаки? Защита и прочие

В плане бизнеса :

  1. Намертво может остановиться бизнес продаж и покупок, тем самым компания лишается денег (бизнес в интернете).
  2. Новые клиенты которые не смогли получить доступ к ресурсу обычно уходят на другие или снижают вероятность возвращения на старый.
  3. Затраты на исправление последствий.

Как это устроено?

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

Защита от атак (DDos)

Код защиты приводить не будем, он простой — несколько десятков строчек на php; намного короче и проще этой статьи. Опишем логику. Будем записывать клиенту куку (метод проверки на куки используется даже при защитах от мощных DDoS атак. С любым именем и любым содержимым, можно использовать уже устанавливаемую сайтом куку.

Для простоты считаем, что на сайт есть единая точка входа, туда встраиваем наш ddos-shield. Сразу проверяем у запроса нашу куку: если она есть — безусловно пропускаем на сайт. Если нету, то записываем пару IP и юзер-агент в виде отдельного файла в отдельную директорию /suspected.

Файл имеет название IP-ua.txt, где ua — dechex(crc32($_SERVER[«HTTP_USER_AGENT»])) — просто короткий хэш юзер-агента.

В сам файл пишем разделяя переводом строки время запроса, страницу (url) запроса, User-Agent, и еще можно использовать Sypex Geo или зарегистрироваться на max mind.com и на пять дней заиметь бесплатный доступ к их geo.IP базе — по IP они выдают географическое местоположение, его тоже в этот файл.

Если файл с таким именем IP-ua.txt уже существует, то добавляем всю эту информацию нового запроса в конец файла.

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

Теперь пропущенный шаг — до того, как мы записываем или дописываем ip-ua.txt, мы проверяем, что запрос с этого ip уже приходил, причем, не обращаем внимания на User-Agent:

count(glob(__DIR__ . "/suspected/$ip-*.txt")) > 0

Итог этого :

Смысл в том, что мы даем каждому IP один шанс на получение куки. Если он приходит второй раз без нее, то срабатывает это неравенство, и мы перенаправляем клиента на отдельную страницу check-human.php. После неудачной попытки придется решать проверку.

Если не прошел — до свидания (опять рекапча), если прошел — создаем в еще одной специальной директории /whitelist файл ip-ua.txt.

И в самом начале вместе с проверкой куки проверяем и на попадание пары IP-ua в наш /whitelist — этих тоже безусловно пропускаем.

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

1 Like

Извините , а для чего это надо на EzCheats ?

Вы просто нашли рандомный форум и решили выложить какую то рандомную тему ?

Очень сильно на XAKI похож