Задать вопрос
inlanger
@inlanger
Django программист

Простейшая защита от DDOS на PHP?

Можно ли организовать простейшую защиту от DDOS не на уровне конфигурации сервера, а на уровне кода PHP? Может кто-то использует готовые решения, тогда поделитесь ссылочками, пожалуйста.
  • Вопрос задан
  • 11720 просмотров
Подписаться 9 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 10
@bondbig
анти-ддос «на уровне php» — сам по себе — ерунда, по определению. Можно оптимизировать код, чтобы он занимал меньше памяти, меньше процессорного времени, меньше «долгих» запросов к БД и т.п. Но это все имеет смысл делать просто так, как правило, а не в попытках отбить ддос.
На базе кода php можно сварганить IDS, что успешно и делают некоторые.
Ответ написан
Комментировать
casey
@casey
можно перед отдачей страницы класть html в кэш (redis, memcached, а ключ составить из запроса и критичных кук), а в index.php до всего-всего-всего проверять наличие флага «повышенная нагрузка». если флаг стоит — не грузить php код, а отдавать страницу из кэша.

флагом может быть файл — например по крону проверять нагрузку на сервер и создавать /tmp/ddos, если она повышена
Ответ написан
@keatis
Когда DDOSят, главной задачей ставят нагнуть определенный сервис или весь сервер.
Защищаясь от ддоса с помощью php, особых плюсов это в большинстве случаев не принесет (ну разве что, напр., снимет нагрузку с СУБД). А канал так и останется забитым, очередь подключений — полной, апач будет молотить максимальным кол-вом процессов, кто-нибудь доест остатки свободной памяти… А там уже не только пользователям сервиса будет сложно пробиться на сайт, но и админу по ssh.

Защита от DDOS — всегда комплексный подход, а иначе это не защита.
Ответ написан
Комментировать
Kolger
@Kolger
Даже при среднем DDoS скрипт вроде
<?php
echo «123»;
?>

будет занимать у вас 100% CPU.

Наоборот, цель защиты от DDoS — не допустить спама на PHP скрипты средствами, например, nginx.
Ответ написан
Комментировать
@ChemAli
Можно. Отключите PHP и перенаправьте посетителей на статичную версию сайта.
Ответ написан
Комментировать
@odmin4eg
Соглашусь половина сайтов рунета валятся простым ab
добавление обычного кэширования к ним спасает от очень многого. особенно хочу отметить «мемкэшед»

но ддос бывает разный, могут и просто «забить канал» если железо справляется.
но тутже средствами nginx или iptables можно на коленке побороться…
Ответ написан
Комментировать
@BasilioCat
Если ваш скрипт на пхп будет первым делом лазить например в мемкэш и проверять сколько подключений за минуту было с такого же адреса, что и сейчас, и если больше порога, то соединение быстро закрывать, то в теории с небольшим ДоСом вы справитесь. Впрочем если он по те же критериям будет формировать .htaccess с директивами deny from — будет быстрее. А если еще и перед апачем случайно nginx стоит, то есть шанс, что ваш сайт будет даже работать.
Ответ написан
multik
@multik
Как вы собираетесь защищаться от атаки хотя бы с 20 000 айпи? С помощью пхп?

Это как использовать малую сапёрную лопатку, но крутой иностранной фирмы, для защиты от «примитивного» ядерного удара.
Ответ написан
Комментировать
@abo
php, javascript, mysql
защита от ддос это сильно сказано, а вот защититься от всяких паразитных ботов способных положить не шибко быстрый сайт вполне возможно.
Ответ написан
Комментировать
ematveev
@ematveev
PHP разработчик / руководитель / писатель
вот наверное что вас интересует:
https://habr.com/ru/post/659811/
это снизит нагрузку на сервак от всяких ботов, хотя от полноценного DDoS не спасёт
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы