dle.in.ua » Хаки » AntiOverload *FIX*

AntiOverload *FIX*

Автор: Baggio от 25-04-2008, 13:20
AntiOverload *FIX*


Случилось мне однажды столкнуться с ситуацией, когда мой хостер предъявил мне претензию о том, что мой акаунт создаёт непомерно большую нагрузку на MySQL-сервер. Посмотрев логи, я заметил, что такую нагрузку создают программы-качалки, которые копируют сайт целиком на локальный компьютер. Во время обращения к странице происходит несколько sql-запросов к базе данных. А если учесть, что эти программы готовы скачивать сразу несколько страниц с сайта, то получается, что в секунду идёт от 3 до 10 запросов. При такой «атаке» серверу действительно приходится не сладко.
Решением я увидел ограничение доступа к сайту с одного ip-адреса чаще, чем один раз в 2 секунды. Проверка происходит без использования sql-сервера, поэтому идёт достаточно быстро.
Здесь я предлагаю php-скрипт, реализующий такую проверку.
Модуль предназначен для ограничения доступа к сайту или к страницам, где он включён.
Принцип работы в том, что запоминается ip-адрес и время обращения с этого адреса. И если в течение заданного времени происходит обращение с того же адреса, то ему выдаётся ошибка 503.Т.е Если вы нажмёте кнопку обновить 3 раза подарят,вам выдаст это сообщение

Установка:
*Качаем antiOverload.txt
*В корне сайта создаем папку tmp и выдаём права 777(Если папка есть,то не чего создовать не надо.)
*Открываем index.php и перед:
<?php

Добавляем то что содержит архив antiOverload.txt:
===============
Скачать: antioverload.txt [3.92 Kb] (cкачиваний: 234)

=============
Демо:
Заходим сюда: http://www.wareznine.org/
Как только загрузилась страница,нажимаем быстро кнопку обновления страницы 4-6 раз подряд.

=====
От себя:
Всё проверил,всё работает.
Время задержки,и сообщение можна изменить в скрипте.
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • имхо с делал бы как vkontakte.ru
    • Phantom_812
    • Регистрация: --
    • Репутация: (||)
    • 1 июня 2008 14:20
    • 1
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 41
  • Публикаций: 1
  • Спасибо

    --------------------
    • nashmir
    • Регистрация: 31.05.2008
    • Репутация: (0|0|0)
    • 26 сентября 2008 18:31
    • 2
    ^
    Информация
    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.