- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Добрый день!
В старом дизайне сайта был скрипт гостевой книги по адресу: http://www.site.ru/cgi-bin/gb/guest.pl
Со временем этот адрес стал пользоваться популярностью у спамеров, его добавили в автоматические скрипты для размещения объявлений на досках, форумах и в гостевых книгах. Соответсвенно, сейчас этого скрипта просто нет. В логах сервера постоянно выпадает следующая ошибка (вследствии чего повышается нагрузка на сервер):
Подскажите пожалуйста, можно ли от этого избавиться например с помощью таких директив, как Deny/Allow, или директивы модуля mod_rewrite, тем самым запретив доступ к несуществующим ресурсам, или установив перенаправление, например на индексный файл сайта с несуществующих запросов?
Всем заранее благодарен за ответы!
конечно! Делайте редирект через .htaccess на главную и будет вам счастье:
Можно прописать нечто подобное:
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ http://www.site.ru/ [R=301,L]
#
В данном случае, если файл скрипта физически отсутствует на сервере (любой файл), произойдет перенаправление на основной сайт.
Если что-то нужно сделать для конкретной папке, то можно использовать директиву:
#
RewriteBase /нужная_папка/
#
Ребята, а как лучше сделать?
Voznesensky, спасибо! Это будет относиться и к запрашиваемым картинкам (gif, например)?
/путь_к_папке/public_html/cgi-bin/gb/.htaccess
<FilesMatch "guest.pl">
order allow,deny
deny from all
</FilesMatch>
Shtogrin, огромное спасибо! Сейчас сделал Ваш вриант.
Тогда вопрос, нужно ли дополнительно сделать для остальных несуществующих файлов, как предложил Voznesensky?
Ребята, а как лучше сделать?
Voznesensky, спасибо! Это будет относиться и к запрашиваемым картинкам (gif, например)?
Он будет так относится к любым отсутствующим файлам в заданной директории. Если файл отсутствует - редирект, при этом в лог ошибки не пишутся, естественно. Такую конструкцию обычно используют, дабы не разрастался лог ошибок из-за несуществующих запросов.
Тогда вопрос, нужно ли дополнительно сделать для остальных несуществующих файлов, как предложил Voznesensky?
Для несуществующих картинок наверно не нужно перенаправлять на главную, правильнее отдать 404.
Shtogrin, теперь выдает такую ошибку:
Сделайте так:
#
RewriteEngine on
RewriteBase /cgi-bin/gb/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ http://www.site.ru/ [R=301,L]
#
Теперь по запросу http://www.site.ru/cgi-bin/gb/flewkfewofjkiewrjgrieg.pl все должно уходить на основной сайт.
Voznesensky, подскажите еще пожалуйста, как правильно это сделать для четырех папок сразу:
RewriteBase /cgi-bin/gb/
RewriteBase /scripts/
RewriteBase /catalog/
RewriteBase /top/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ http://www.site.ru/ [R=301,L]