- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как удалить плохие SEO-ссылки и очистить ссылочную массу сайта
Применяем отклонение ссылок
Сервис Rookee
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Всем привет.
На сайт идёт сильная DDOS-атака и единственный метод её остановки был создание страницы проверки кода на картинке при входе на любую страницу....
С Атакой почти справились, а вот с индексацией сайта и форума в поисковых системах могут быть проблемы....
Вот страница, например которая доступна только после ввода кода:
как дать доступ поисковым-роботам?
Как понял по UserAgent... Но какие User Agent у какого робота?
Мне необходимо как минимум знать user-agent:
Google
Yahoo!
MSN
Rambler
Yandex
Как и где узнать их?
нашел такое решение:
if(preg_match('#googlebot|msnbot|slurp|accoonabot|stackrambler|yandex|teoma|psbot#i', $_SERVER['HTTP_USER_AGENT'])==0){
Для начала можно посмотреть списки http://www.seoman.ru/FAQ/article032.html и http://bot.tixit.ru/user_agent/
Есть аргументы за то, чтобы сделать "белый список" для IP, а не для USER_AGENT, т.к. если DDOS'ят Вас целенаправленно, то и USER_AGENT подберут такой, чтобы продолжить заваливать. Поэтому лучше создавать список белых-IP, для которых не нужен ввод кода проверки - так оно надёжнее в смысле безопасности.
С другой стороны, не все IP поисковых роботов известны заранее (в сети можно найти немаленькие списки, но без гарантий :) ), поэтому так можно случайно и "честного бота" не пустить, борясь с атакой, что может привести к выпадению части страниц из индексов поисковых машин.
Удачи Вам в решении этой проблемы!
задача ещё состоит в том, чтобы не нагружать страницу с этим кодом. Если будет коннект к БД или обращение к файлу со списком, то нагрузка будет очень большая (при 100 запросах в секунду) и сервер может упасть...
Хотя хостинг очень хороший и сервер тоже достойный.
Есть ещё выход: Купить Хостинг за 700 у.е. в месяц, но это слишком дорого для нас!
Дёргать регулярное выражение по каждому чиху тоже не очень быстрое решение.
Предлагаю всё же взять списки, например с http://www.iplists.com/ , чтобы сверяться с ними. Вроде бы не так долго сделать if (in_array()), где массив предварительно был проинклюден из специального файла. Согласен, что это не самое изящное решение, но вроде бы несколько тысяч раз в секунду это делается легко на любом хостинге.
Кстати, а Вы уверены, что проблема не решится "чёрным списком"? Может Вас ддосят не очень серзёные люди со считанной сотни машин? Тогда лучше пересчитать их, а остальных посетителей не парить.
задача ещё состоит в том, чтобы не нагружать страницу с этим кодом. Если будет коннект к БД или обращение к файлу со списком, то нагрузка будет очень большая (при 100 запросах в секунду) и сервер может упасть...
Хотя хостинг очень хороший и сервер тоже достойный.
Есть ещё выход: Купить Хостинг за 700 у.е. в месяц, но это слишком дорого для нас!
При 100 запросах, если без базы, то не должно падать.
Возможно для большей устойчивости сам валидатор (проверяльщик соответствия записи на картинке) написать на сях, а не на php, тогда вообще ничто не страшно.
Не говоря уже про схемы с memcached и отдельного демона валидатора, держащего весь список сгенерёных картинок-кодов у себя в памяти.
P.S. А что предлагается за 700 у.е.?
P.P.S. Опс, не так понял что требуется, сорри. Подумал, что опасаетесь большой нагрузки с капчи.
Задачу пускать с одним UserAgent'ом (или ip) через капчу, а с другим без легко
решить через mod_rewrite апача, или аналогичный модуль nginx'а.
Вроде бы не так долго сделать if (in_array()), где массив предварительно был проинклюден из специального файла.
Настоятельно рекомендую использовать в такой ситуации array_key_exists вместо in_array. В качестве ключа массива задавать IP-адрес, в качестве значения массива, например, "1". Проверно на 10-ках тысяч, сотнях тысяч и миллионах элементов массива. Скорость обработки увеличивается на несколько порядков, в зависимости от количества элементов массива и одновременных обращений.
Если есть доступ к iptables, то вот (ограничит кол-во коннектов с одного IP до 10 в минуту, потом просто будет отсекать парня, но всех подряд):
А вообще, вот тема по похожему вопросу обсуждается - /ru/forum/92472
Кстати, а Вы уверены, что проблема не решится "чёрным списком"? Может Вас ддосят не очень серзёные люди со считанной сотни машин? Тогда лучше пересчитать их, а остальных посетителей не парить.
Хостинг у нас и так с защитой от DDOS и формирует чёрный список, который уже превышает несколько десятков тысяч IP-адресов и попросту виснет от постоянной нагрузки, поэтому было принято решение сделать так. А чёрный список нет смысла формировать. Мы уже поняли...
При 100 запросах, если без базы, то не должно падать.
100 я сказал к примеру. Число запросов бывает и больше и бывает сразу на несколько страниц... Видимо хорошая попалась атака...
Хотя хостер говорит, что у них была похуже...
P.S. А что предлагается за 700 у.е.?
это хостинг у одного из конкурентов. ОН решил проблему таким образом. У того хостера стоит какое-то хитрое железо которое присекает всех "засранцев"... Я не очень в курсе как оно работает.
У меня идея появилась: если создать просто вместо проверки кода страницу, на котрой будет написано: "ЖДИТЕ 5 секунд пока будет осуществлён переход на нужную вам страницу". И так только один раз пока не записалась сессия.
1) Просто роботы, которые будут бесконечно обращаться к странице - они же не дожидаются 5 секунд пока Java Script направит их на нужную страницу?
2) И как можно скрыть адрес страницы редиректа?
3) Как к редиректам относятся поисковые роботы? Они не будут считать, что эта страница состоит только из: Ждите 5 секунд... ?
2) И как можно скрыть адрес страницы редиректа?
3) Как к редиректам относятся поисковые роботы? Они не будут считать, что эта страница состоит только из: Ждите 5 секунд... ?
2 - закодируйте url через base64+xor в зависимости от номера сессии, получится лабуда вроде ссылок ядиректа.
3 - имхо будут. роботы яваскрипт не выполняют.
Можно использовать временный редирект - 302 код на себя же (записать в сессию IP клиента, если при втором запросе IP не совпадает или отсутствует - то снова записать IP и выдать редирект).