- Как в htaccess запретить доступ по IP диапазону
- Как в .htaccess работает блокировка по IP
- Забанить спамера по IP диапазону
- Запретить доступ в админку
- Запретить доступ к файлам по IP
- Ошибка доступа по ip в .htaccess
- Управление доступом с помощью htaccess. Как изменить доступ к сайту
- Как изменить доступ к файлам, с помощью .htaccess?
- Как закрыть доступ для всех?!
- Как закрыть доступ всем, кроме определенного ip?!
- Как закрыть доступ к определенной директории сайта?!
- Как закрыть доступ к файлу на сайте?!
- Почему может не работать Allow from IP в.htaccess
- 1 ответов
- Forbidden
- Htaccess allow from ip не работает
Как в htaccess запретить доступ по IP диапазону
Как в .htaccess работает блокировка по IP
Если вас интересует, как заблокировать доступ по IP к сайту нежелательным личностям, спамерам и прочим, то вам надо создать или отредактировать файл .htaccess и воспользоваться синтаксисом Order Allow,Deny либо Order Deny,Allow . Между ними есть разница:
- Order Allow,Deny
Сначала обработаются разрешающие правила Allow , потом запрещающие Deny , а всё, что не попадает под них, будет запрещено; - Order Deny,Allow
Сначала будут обработаны запрещающие правила Deny , потом разрешающие Allow , а все, что не попадут под них, будут разрешены по умолчанию.
Обратите внимание на синтаксис, никаких лишних пробелов, иначе можно вызвать ошибку 500 Internal Server Error
Если это касается всего сайта, файл создаётся в корне, если нужно закрыть лишь определённую его часть, например, админку, файл .htaccess должен располагаться непосредственно в этом разделе.
Ну, и конечно же, ваш сервер (бекенд или рабочий) должен быть Apache. Если ваш рабочий сервер NGINX + php-fpm, то править придётся конфигурационный файл nginx.
Забанить спамера по IP диапазону
Это был пример того, как забанить IP (192.168.1.1) спамера, не закрывая доступа всем остальным. Ещё можно пропустить последний октет IP-адреса, Deny from 192.168.1 , тогда будут забанены все пропущенные IP адреса. Однако, вы же понимаете, статичный IP блокировать глупо, он, скорее всего, динамический, поэтому мы берём IP и отправляемся определять подсеть с диапазоном IP, откуда он пришёл. Для этого воспользуемся любым Whois-сервисом, например, этим, ищем строку CIDR или, если её нет, NetRange
Определяем подсеть IP
Нам повезло, CIDR (Classless Inter-Domain Routing, Бесклассовая адресация) присутствует, а именно в таком формате лучше всего записывать диапазон IP в htaccess
Если CIDR отстуствует, рекомендую воспользоваться калькулятором IP-диапазона в CIDR и данными из NetRange, чтобы получить CIDR.
Конвертируем диапазон IP в CIDR
Запретить доступ в админку
Чтобы запретить доступ в админку всем, кроме вашего IP, в htaccess, который должен располагаться в разделе админки, нужно прописать:
Где 192.168.0.0/16 — ваш IP или подсеть
Вот, скажем, вариант для WordPress. Файл .htaccess создаётся в /wp-admin/
Обратите внимание, тут используется конструкция Files «admin-ajax.php» . Она необходима для того, чтобы проходили ajax запросы.
Запретить доступ к файлам по IP
Вот пример, как можно защитить админку WordPress от посягательств хакеров. Здесь используется конструкция FilesMatch «регулярное выражение»
Источник
Ошибка доступа по ip в .htaccess
Добрый день)
Проблема следующая: в .htaccess не работает доступ когда я пишу конкретные ip:
т.е. мне надо разрешить доступ подсети. пишу:
Order Deny, Allow
Deny from all
Allow from 100.99.0.0/255.255.0.0
даже если я пишу «Allow from 100.99.99.1» где 100.99.99.1 — ip c которого я зашла. Но ресурс все равно не доступен..
Если написать Allow from all — все работает.
Поэтому я сделала вывод что что-то не так в настройках сервера? — не работают строки где написан конкретный ip
Как это можно исправить?
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Права доступа через htaccess
У дле есть такая фишка если к примеру не кинуть в папку htaccess (с данними прописями ) то папка не.
htaccess. Запрет доступа по адресу
Добрый день! Меня интересует, можно ли закрыть доступ по конкретному адресу, а не к файлу. Может.
Логи доступа к папке .htaccess
Здравствуйте, столкнулся с следующей проблемой: Существует папка, к которой обращаются.
Разрешение доступа к определенному файлу в .htaccess
Здравствуйте. На сайте есть папка с некоторым функционалом. Необходимо заблокировать доступ ко всем.
Добавлено через 3 минуты
И еще очень важный момент.
Не стоит ли случайно связка nginx+apache2?
Добавлено через 21 минуту
Ой. Вот же ошибка
НЕ Order Deny, Allow
А Order Allow, Deny
У тебя порядок обработки тут задается.
Я уже пробовала) От порядка обработки ничего не меняется)
Но вообще от этого ничего не зависит) просто если делать Order Allow, Deny — тогда правило Allow первым надо написать, а потом запретить.
Как у меня тоже правильно: — сначала я задаю порядок (запретить, потом разрешить), потом запрещаю всем, а потом открываю доступ конкретным ip
А вот что такое nginx? С помощью phpinfo() я смотрела информацию о серваке, там нету об этом никаких сведений, значит наверно не используется?
Источник
Управление доступом с помощью htaccess. Как изменить доступ к сайту
Здравствуйте программисты, сегодня новое руководство по работе с htaccess. Сегодня я научу вас как запрещать доступ к файлам, как запрещать доступ к директориям, как запрещать доступ к сайту по определенному ip. В общем я вас расскажу как закрывать свой сайт от посетителей.
Данный метод используется для ограничения определенных файлов или директорий сайта.
Как изменить доступ к файлам, с помощью .htaccess?
Для того чтобы это сделать, мы в корневой папке сайта создаем файл .htaccess. Данный файл необходимо открыть как обычный текстовик или с помощью программы для написания кода. Я открываю этот файл через программу Sublime Text.
Для файла .htaccess следует использовать права доступа 644 и загружать его в ASCII-режиме. Если ваш .htaccess файл не работает, то вам следует обратиться к системному администратору или в техподдержку вашего веб-хостинга и убедиться, что использование его разрешено для вашей учетной записи, так как некоторые хостинговые компании не позволяют его использование без предварительного разрешения, это в основном относится к бесплатным хостингам. Также, к сожалению, .htaccess не будет работать на Windows-серверах.
Первая директива, с которой мы познакомимся, это директива Order. Синтаксис директивы прост и она может быть использована в двух вариантах:
Order Deny,Allow — это начала кода, которое показывает, что после него будут перечислены параметры ограничения доступа к файлам.
Allow — разрешает доступ.
В зависимости от выбранного варианта [Deny,Allow] или [Allow,Deny] для директивы Order, мы изменяем логику работы сервера. Если используем первый вариант (Deny,Allow), то мы сообщаем серверу, что хотим запретить доступ для всех (deny), кроме тех, которым разрешим (Allow).
Когда мы используете второй вариант (Allow,Deny), то подразумевается, что мы разрешаем доступ всем, кроме определенных IP.
Здесь стоит отметить, что на самом деле использование директивы Order не является обязательным и возможно использование директив Deny и Allow без директивы Order. Также не будет ошибкой, если, к примеру, объявив в директиве Order вариант Deny,Allow, мы сначала используем директиву Allow, а затем Deny. Хотя все же лучше будет, если мы в этом вопросе не будем отходить от рекомендаций документации.
Как закрыть доступ для всех?!
Итак, для того, чтобы закрыть доступ к сайту для всех, достаточно прописать в файле htaccess в корне следующие строки:
Так мы закрыли доступ ко всему сайту для всех IP. Теперь сервер будет отдавать клиенту ответ 403, т.е. доступ запрещен.
Как закрыть доступ всем, кроме определенного ip?!
Если вы захотите открыть при этом доступ к сайту с конкретного IP, тогда его можно указать в директиве Allow. Например, откроем доступ для IP 127.0.0.1:
Также можно открывать доступ для нескольких IP. Для этого достаточно перечислить их через пробел:
Как закрыть доступ к определенной директории сайта?!
Очевидно, что точно так же мы можем закрыть доступ не ко всему сайту, а только к какой-нибудь папке. Для этого просто нужно создать в папке файл htaccess и в нем прописать всего одну строку:
Как закрыть доступ к файлу на сайте?!
А что, если мы хотим запретить доступ не к папке, а к файлу. Для этого мы воспользуемся еще двумя директивами: Files и FilesMatch. Данные директивы похожи на HTML-теги, поскольку требуют закрывающей директивы и заключены в знаки меньше/больше:
На самом деле они представляют собой некую ограничивающую конструкцию, позволяющую обратиться только к конкретному файлу или файлам. Например, давайте закроем доступ к архиву rar.rar:
Теперь файл пропадет из листинга каталога и при попытке обращения к файлу напрямую сервер вернет нам вместо файла 403 ошибку.
Если мы хотим ограничить доступ к группе файлов, то здесь можно использовать директиву FilesMatch вкупе с регулярными выражениями. Например, так можно ограничить доступ к графическим файлам и архивам:
Источник
Почему может не работать Allow from IP в.htaccess
один из них — мой IP, меня не пускает .. ниодин из IP не пускает.
Что может быть?
Может в конфе апача как-то запрещены директивы Allow? и он их игнорирует в .htaccess?
З.Ы. авторизации по пользователям нет.
в apache2.conf:
/** * GeSHi (C) 2004 — 2007 Nigel McNie, 2007 — 2008 Benny Baumann * (http://qbnz.com/highlighter/ and http://geshi.org/) */ .ini.geshi_code
При входе на страницу пишет:
Forbidden
You don’t have permission to access / on this server.
Мой ип — 212.26.XXX.XX
1 ответов
Может где то выше не стоит AllowOverride All.
Как вариант поменять местами и проверить работает ли Deny, т.е. разрешить со всех и запретить с одного и проверить.
UPD: Даже если точнее то AllowOverride Limit
Allow use of the directives controlling host access (Allow, Deny and Order).
Зада поиска правильного ответа заняла слишком долго времени (есть подозрение, что это глюк апача2), поэтому была решена по-другому. Это в начале index.php:
$forwarded = $_SERVER [ ‘HTTP_X_FORWARDED_FOR’ ] ;
if ( ! empty ( $forwarded ) ) <
$ipAddress = preg_replace ( ‘/,.*/’ , » , $forwarded ) ;
> else <
$ipAddress = $_SERVER [ ‘REMOTE_ADDR’ ] ;
>
$allowedIPs = array ( ‘212.26.XXX.XX’ , ‘213.227.RRR.RRR’ ) ;
if ( ! in_array ( $ipAddress , $allowedIPs ) ) <
echo ‘ 403 Forbidden
Forbidden
You don\’ t have permission to access / on this server . p > body > html > ‘;
exit;
>
пока так 🙂
Источник
Htaccess allow from ip не работает
ОС — Fedora 7.
Имеется схема nginx 0.6.31 + apache 2.2.6 + mod_rpaf 0.6
apache работает как backend, слушает на 8080 порту.
nginx слушает на 80 и всё, кроме статики отдаёт apache.
rpaf настроен. В access_log пишутся «реальные» IP.
Заметил такую странную вещь, если есть .htaccess файл и я в корень сайта кладу например
order allow,deny
allow from [ip с которого соединяюсь]
deny from all
Апач даёт
Forbidden
You don’t have permission to access.
Хотя казалось бы указано allow from [ip с которого соединяюсь]
Если я лезу на апач «напрямую» через http://external_ip:8080/, то правило в .htaccess отрабатывает корректно — я вижу странчку.
Что примечательно, если .htaccess выглядит так
order allow,deny
allow from [ip с которого соединяюсь]
allow from 127.0.0.1
deny from all
и соединяюсь к nginx (а он в свою очередь к apache) через http://external_ip/ — получаю страничку! Нету никакого Forbidden.
Т.о., прихожу к выводу что mod_rpaf не работает в конструкциях .htaccess и передаёт ip frontend`а (в моём случае 127.0.0.1).
Поискал в инете, нашёл только один подобный случай для настроек виртуал хоста:
http://www.apsis.ch/pound/pound_list/archive/2007/2007-01/11.
Кто-нибудь проверьте пожалуйста на практике, может у меня где-то ошибка.
Есть ли какие-нибудь решения? Может стоит автору rpaf обратить внимание на такой «баг».
| Оглавление |
|
| Сообщения по теме | [Сортировка по времени | RSS] |
| 1. «apache + mod_rpaf + .htaccess» | + / – | |
| Сообщение от HaMiL | ||
| Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору | ||
| 2. «apache + mod_rpaf + .htaccess» | + / – | |
| Сообщение от sofree on 02-Окт-08, 17:25 | ||
копипастить не надо. Сам не одну статью прочёл про это. Повторюсь, что А не работает в .htaccess — allow, deny директивы для ip адресов. | ||
| Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору | ||
| 3. «apache + mod_rpaf + .htaccess» | + / – | |
| Сообщение от Alex (??) on 13-Окт-08, 15:37 | ||
На 2.0 такая же проблема. | ||
| Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору | ||
| 4. «apache + mod_rpaf + .htaccess» | + / – | |
| Сообщение от sofree on 13-Окт-08, 22:23 | ||
Нет, не решил. Зато выяснилось, что этот баг имеет место. Думаю, автору mod_rpaf надо показать данный «баг» | ||
| Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору | ||
| 5. «apache + mod_rpaf + .htaccess» | + / – | |
| Сообщение от qwerty (??) on 14-Окт-08, 16:47 | ||
| ||
| Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору | ||
| 6. «apache + mod_rpaf + .htaccess» | + / – | |
| Сообщение от sofree (ok) on 14-Окт-08, 20:12 | ||
А можно с .htaccess попробовать? Всего лишь маленький файлик. | ||
| Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору | ||
| 7. «apache + mod_rpaf + .htaccess» | + / – | |
| Сообщение от qwerty (??) on 28-Окт-08, 11:51 | ||
Order deny,allow | ||
| Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору | ||
| 8. «apache + mod_rpaf + .htaccess» | + / – | |
| Сообщение от sofree (ok) on 31-Дек-08, 00:31 | ||
Появилась возможность проверить баг. И так локальная сеть, Apache/2.2.10 (Fedora core 10 rus), ip=10.1.1.1 на котором крутится апач. Апач висит на 8080 (бэкэнд), а на 80 слушает nginx (фронтэнд) И так: Комп, с которого запрашиваю — 10.1.1.3. You don’t have permission to access /test/ on this server. Случай 2. Прихожу к выводу, что баг прогрессирует! | ||
| Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору | ||
| 9. «apache + mod_rpaf + .htaccess» | +1 + / – | |
| Сообщение от Ярослав (??) on 31-Июл-09, 20:32 | ||
>[оверквотинг удален] | ||
| Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору | ||
| 10. «apache + mod_rpaf + .htaccess» | + / – | |
| Сообщение от sofree | ||
| Вот бы хорошо, чтобы автор мода | ||
| Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору | ||
| 11. «apache + mod_rpaf + .htaccess» | + / – | |
| Сообщение от vinzz | ||
| этот патч решил одну проблему, но добавил другую: МОЙ-IP-АДРЕС — это ип с которого коннект, именно клиентского компьютера на котором открыт браузер. идеи? | ||
| Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору | ||
| 12. «apache + mod_rpaf + .htaccess» | + / – | |
| Сообщение от angelina on 10-Дек-09, 11:06 | ||
| ||
| Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору | ||
| 13. «apache + mod_rpaf + .htaccess» | + / – | |
| Сообщение от Avari on 21-Окт-10, 21:21 | ||
| Поможет только тем, у кого апач 1.3. О чём вполне ясно написано у Сысоева. Для апача2 только mod_rpaf. Лично я категорический сторонник apache2. | ||
| Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору | ||
| 14. «apache + mod_rpaf + .htaccess» | + / – | |
| Сообщение от Kirill (??) on 22-Окт-10, 11:13 | ||
а этот глюк исправили? | ||
| Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору | ||
| 15. «apache + mod_rpaf + .htaccess» | + / – | |
| Сообщение от baddan | ||
на debian работает на CentOS отказывается REMOTE_ADDR везде коректно правится. в логах тоже казывается правильный ip, но в centos не работает, в debian работает. в обоих практически одинаково настроены сайты. Видимо в 2.2.9 есть какието изменения которые исправляют проблему. | ||
| Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору | ||
| 16. «Не работает allow, deny, когда apache + mod_rpaf + .htaccess» | + / – | |
| Сообщение от SatanaClause (??) on 09-Авг-11, 13:36 | ||
| только что наткнулся на эту проблему. Смотрю ничего не изменилось c того времени. .htaccess с кодом не работает order deny,allow Решение простое, заменить mod_rpaf на mod_extract_forwarded 2. инсталируем mod_extract_forwarded 4. коректируем конфиг /etc/httpd/conf.d/mod_extract_forwarded.conf по сути он стандартный, только меняем значени MEFaccept на нужное >[оверквотинг удален] | ||
| Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору | ||
| 17. «Не работает allow, deny, когда apache + mod_rpaf + .htaccess» | +1 + / – | |
| Сообщение от AL | ||
Правильно так: и всё работает как надо. Для справки. Как обрабатываются эти дериктивы: Order Allow,Deny Order Deny,Allow | ||
| Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору | ||
| 18. «Не работает allow, deny, когда apache + mod_rpaf + .htaccess» | –1 + / – | |
| Сообщение от Alan (??) on 02-Мрт-12, 15:49 | ||
| ||
| Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору | ||
| 19. «Не работает allow, deny, когда apache + mod_rpaf + .htaccess» | + / – | |
| Сообщение от ALex_hha (??) on 09-Мрт-12, 01:23 | ||
# cat .htaccess xxx.xxx.157.114 — — [08/Mar/2012:23:17:12 +0200] «GET /test/ HTTP/1.0» 403 283 «-» «Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2» xxx.xxx.238.231 — — [08/Mar/2012:23:17:27 +0200] «GET /test/ HTTP/1.0» 200 61688 «-» «Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2» [Thu Mar 08 23:17:12 2012] [error] [client xxx.xxx.157.114] client denied by server configuration: /var/www/vhosts/domain.com.ua/test/ # httpd -v # apachectl -t -D DUMP_MODULES | grep rpaf # nginx -v | ||
| Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору | ||
| 20. «Не работает allow, deny, когда apache + mod_rpaf + .htaccess» | + / – | |
| Сообщение от alan (??) on 09-Мрт-12, 01:42 | ||
>[оверквотинг удален] | ||
| Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору | ||
| 21 . «Не работает allow, deny, когда apache + mod_rpaf + .htaccess» | + / – | |
| Сообщение от ALex_hha (??) on 09-Мрт-12, 02:20 | ||
| ||
| Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору | ||
| 22 . «Не работает allow, deny, когда apache + mod_rpaf + .htaccess» | + / – | |
| Сообщение от PavelR (ok) on 16-Мрт-12, 17:01 | ||
Версия mod_rpaf играет роль. Используйте 0.6 или патченную 0.5. | ||
| Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору | ||
| 23 . «Не работает allow, deny, когда apache + mod_rpaf + .htaccess» | + / – | |
| Сообщение от PavelR (ok) on 30-Мрт-12, 00:10 | ||
Выше, в http://www.opennet.ru/openforum/vsluhforumID8/6014.html#17 верно написали, как правильно пользоваться директивами (Order / Allow / Deny) .htaccess Небольшая проверка показывает, что директивы .htaccess отрабатывают идентично как при наличии, так и при отсутствии mod_rpaf-0.6. | ||
| Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору | ||
| 24 . «Не работает allow, deny, когда apache + mod_rpaf + .htaccess» | + / – | |
| Сообщение от baddan | ||
| модуль mod_extract_forwarded не удалось скомпилить и подключить по нормальному иза ошибки какойто с прокси, в принцыпе там в исходнике правится #define, но почемуто после этого не стало работать, то что работало в centos. вот что получилось и работает. RPAFenable On Nginx. 1.2 # access_log /home/www/tube/site.net/log/ng-acc.log; location / < /contents/videos/ < /contents/videos_sources/ < /contents/albums/sources/ < /contents/albums/main/700×525/ < * ^.+\.(gif|jpg|mpg|mp3|mpeg|avi)$ < /admin/include/get_upload_status.php < ——————————— Источник | ||