Защита сайта от атак
Даже если сервер и выдержит нагрузку, при частом повторении подобной ситуации может возникнуть проблема с хостером. Для сайтов на виртуальном хостинге существуют ограничения на потребление памяти, количество соединений с БД и нагрузку процессора. Если хостинг который Вы выбрали достаточно недорогой, то рассчитывать что сервер работает на крутом компьютере, не стоит. Наверняка и процессор слабый и оперативки мало. А если учесть тот факт что на одном жёстком диске может находится и 300 и более сайтов, то даже за самые незначительные перегрузки хостер может выключить Ваш сайт и потребовать либо уменьшить нагрузку, либо перейти на более дорогой тарифный план.
Виртуальный хостинг изначально не рассчитан на большие нагрузки от сайтов которые на нём находятся. В зависимости от движка на котором работает сайт, нагрузка может стать предельной и при 200 посетителях и при 1000 посетителей в сутки. А если ещё и всякие качалки и грабберы выкачивают информацию с сайта большими порциями во много поточном режиме, то даже оптимизация скриптов на которых работает сайт не поможет и придётся раскошеливаться на более высокий (порой от 5-ти и более раз) тариф.
Про оптимизацию скриптов я расскажу в другой раз, а сейчас хочу поделится способом который защитит сайт от грабберов, качалок, много поточного сканирования и дос атак. Способ был придуман Андреем Якушевым и взят с его сайта AVY.RU и реально в боевых условиях помог мне убрать нагрузку с одного аккаунта. Повадился залазить ко мне на один сайт под видом гуглебота программа качалка или граббер. Скрипт аналитики постоянно показывал большой траффик от гуглебота хотя в панели управления сайтом Google данные о количестве проиндексированных страниц было в разы меньше. А на днях с одного IP который определился как сеть в городе Краснодар вообще что то вроде мини дос-атаки провели. За сутки насканировали 12000 страниц! Трафика только на этом IP за сутки почти 3 Ггб.! Когда хостер прислал мне отчёт по нагрузке, я не поверил своим глазам пока не полез в статистику сервера. Я за сутки превысил лимит в 8 раз! Удивительно что сайт совсем не закрыли.
Я срочно установил на сайт скрипт защиты который автор назвал скрипт ограничения выдачи количества страниц одному пользователю. Посмотреть его код можно по ссылке названия скрипта. Принцип действия скрипта очень простой, запоминается ip-адрес и время обращения с этого адреса. И если в течение заданного времени происходит обращение с того же адреса, то ему выдаётся ошибка 503. Если количество недопустимых обращений подряд превышает определённое число, ip-адрес закрывается через файл .htaccess
Если даже пока у Вас нет таких проблем, то на будущее рекомендую всё равно его сохранить у себя на компе. Никто не знает когда могут появится проблемы и лучше подстраховаться.
Комментариев 0