- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Есть ли возможность через htaccess/httpd.conf возращать ошибку 404 (Not found), если IP, с которого осуществляется доступ не в белом списке ?
Сервер FreeBSD 9.1, nginx фронтенд для статики+apache2.2 бекенд для php
Пока использую обычный "Forbidden", который возращает 403 ошибку:
Смысл затеи в том, чтобы боты, которые пытаются распознать Wordpress по наличии wp-admin, получали ответ 404, т.е. как бы понимали что это не Wordpress и не пытались дальше искать его уязвимости.
а почему нельзя в nginx прописать location, return 404 и тд?
Можно, а как это будет все вместе выглядить, если сайт к примеру находится по адресу
т.е. чтобы я имела доступ к wp-admin, а всем остальным 404. И все таки через apache, тоже интересно как это сделать.
в апаче что-то типа
RewriteCond %{REMOTE_ADDR} !77.110.1.33 [NC]
RewriteRule wp-admin - [R=404,L,NC]
---------- Добавлено 26.09.2013 в 11:36 ----------
в nginx что-то типа
location ~ ^/(wp-admin|wp-login\.php$){
if ($remote_addr !~ "77.110.1.33"
{
return 404;
}
}
Что-то у меня и так и так не работает, в httpd.conf добавила
Для Nginx правда чуть по другому сделала
Полный конфиг nginx.conf
для начало нужно проверить сам локейшен
location ~ ^/(wp-admin|wp-login\.php$) {
return 404;
}
и не забыть nginx -s reload
Что-то у меня и так и так не работает, в httpd.conf добавила
RewriteRule wp-admin - [R=404,L,NC]
Так и не должно работать.
R — это редирект. Там не может быть кода 4xx
http://httpd.apache.org/docs/2.2/rewrite/flags.html#flag_r
На апаче, думается мне, просто так выдать 404 с помощью .htaccess не получится.
Можно сделать как-то так:
RewriteRule %{REMOTE_ADDR} !123\.45\.67\.89
RewriteRule ^wp-admin /error404.php [L]
А уже в error404.php делать
<?php
header("HTTP/1.0 404 Not Found",true,404);
?>
Хотя 403 ни чуть не хуже 404 :)
для начало нужно проверить сам локейшен
location ~ ^/(wp-admin|wp-login\.php$) {
return 404;
}
и не забыть nginx -s reload
Вот, так заработало, но в контексте одного сайта только, весь конфиг виртуального хоста nginx:
Но есть пару проблем:
1. Это не совсем удобно в каждый виртуал хост вставлять блок
2. Нужно еще добавить разрешенные IP
Сначала я вставила в общий nginx.conf в секцию server, но так не работает, скорей всего из-за путей. Мне нужно вставить там какой-то wildcard для всех сайтов.
---------- Добавлено 28.09.2013 в 17:20 ----------
;12184339']
На апаче, думается мне, просто так выдать 404 с помощью .htaccess не получится.
Можно сделать как-то так:
RewriteRule %{REMOTE_ADDR} !123\.45\.67\.89
RewriteRule ^wp-admin /error404.php [L]
Это не работает если вставить в .htaccess в корне сайта и/или в wp-admin.
1. Это не совсем удобно в каждый виртуал хост вставлять блок
2. Нужно еще добавить разрешенные IP
1. можно прописать правила в отдельный файл и его инклудить, тогда будет удобно менять/добавлять разешенные адреса, иначе смотрите в сторону апача
2. тут нужно проверять, правильный ли IP
location ~ ^/(wp-admin|wp-login\.php$) {
if ( $remote_addr != "77.110.1.33" ) { return 404;}
}
переименуйте wp-login.php в wp-login1.php
и пусть дальше вычисляют wp-admin :D
а то задолбаетесь IP добавлять...
Не знаю насколько это правильно, но у меня это работает в httpd.conf, curl -I отдает 404, ну и в самом браузере 404.
iamsens, а что нельзя просто в главный nginx.conf прописать ? Чтобы проинклудить, мне придется это сделать в более чем 100 файлах.
AboutSEO, так не интересно и не совсем изящно. Не хочется лезть в core files вордпресса.