Так, для начала какой DDoS? HTTP, SyN, POST HTTP??? Везде разные способы. Если HTTP , нужно считать кол-во обращений в минуту, адрес страницы, и содержимое HTTP заголовков - Подозрительным запрещать соеденяться с сервером.
Да, хттп, ну ладно я определю подозрительные, а как их запретить, так-то я знаю в теории, мне практически интересно..
Вариант первый - на уровне сервера. Если сервер Apache, то так(В других серверах по другому): .htaccess PHP: <Directory /> Order allow,deny allow from all Deny from 193.220.129.0/255.255.255.0 </Directory> Вариант второй - составить массив, и прверять по нему IP - Что крайне не советую, поскольку это несёт большую нагрузку на сервер. Лучше всего запретить IP на уровне системы - внести в чёрный список брандмаузера. В сборе IP может помочь утилита tcpdump. Так же советую хорошо настроить сервер и не забыть о модуле mod_dosevasive.
А как узнать айпи ботов? Как их банить я разабрался, через айпи тейбл, а вот вычислить ботов... В логах просто сильно мешает nginx, не могу найти ипы ботов =(