Идентификация и ограничение доступа в Apache
Директива Satisfy определяет способ взаимодействия директив идентификации (используемые для защиты паролем) с директивами доступа (например, Allow/Deny). С ее помощью вы, например, можете заставить Apache выполнять те запросы, которые удовлетворяют только требованиям идентификации, либо только требованиям доступа. Или вы можете сделать, чтобы запрос удовлетворял всем требованиям.
Директива Satisfy принимает два значения:
- Satisfy Any Пропускает запрос, если выполнено любое из требований (идентификация или проверка доступа).
- Satisfy All Пропускает запрос, только если оба требования выполнены (и идентификация и проверка доступа).
Для примера возьмем следующий сценарий:
<Directory /home/www/site1/private>
AuthUserFile /home/www/site1-passwd
AuthType Basic
AuthName MySite
Require valid-user
</Directory>
AuthUserFile /home/www/site1-passwd
AuthType Basic
AuthName MySite
Require valid-user
</Directory>
При такой конфигурации вашим пользователям необходимо будет пройти процедуру идентификации.
Но предположим, вы хотите, чтобы пользователи из локальной сети имели полный доступ к каталогу, без необходимости ввода пароля. Для такого сценария необходимо использовать следующую конфигурацию:
<Directory /home/www/site1/private>
AuthUserFile /home/www/site1-passwd
AuthType Basic
AuthName MySite
Require valid-user
Order allow, deny
Allow from 172.17.10
Satisfy any
</Directory>
AuthUserFile /home/www/site1-passwd
AuthType Basic
AuthName MySite
Require valid-user
Order allow, deny
Allow from 172.17.10
Satisfy any
</Directory>
Такая конфигурация заставит всех "внешних" пользователей пройти процедуру идентификации, а тех, кто пришел с локальной сети, пропустит. Apache предоставит им полный доступ к каталогу private без идентификации.
Все вышеописанное также работает и с подкаталогами вашего защищенного каталога. Допустим, вам нужен незакрытый подкаталог nonprotect, который находится в каталоге private. Причем к каталогу nonprotect должен иметь доступ любой пользователь без ввода какого-либо пароля. Делается это следующим образом:
<Directory /home/www/site1/private/nonprotect>
Order allow,deny
Allow from all
Satisfy any
</Directory>
Order allow,deny
Allow from all
Satisfy any
</Directory>
И, наконец, если у вас есть очень секретный каталог, тогда вы можете ограничить к нему доступ, как с помощью пароля, так и с помощью проверки IP пользователя.
<Directory /home/www/site1/super-secret>
AuthUserFile /home/www/site1-passwd
AuthType Basic
AuthName MySite
Require valid-user
Order allow,deny
Allow from 172.17.10
Satisfy all
</Directory>
AuthUserFile /home/www/site1-passwd
AuthType Basic
AuthName MySite
Require valid-user
Order allow,deny
Allow from 172.17.10
Satisfy all
</Directory>
В приведенном выше примере директива "Order allow, deny" по умолчанию блокирует доступ для всех, директива "Allow" разрешает доступ пользователям из локальной сети, а директива "Satisfy all" требует проверки как IP, так и пароля.
Для дополнительной информации по директиве Satisfy смотрите документацию Apache.
Комментарий от Vladimir E. — Январь 6, 2007 @ 8:24 pm
Комментарий от RedStalker_Mike — Январь 7, 2007 @ 10:27 pm
Комментарий от Капсула — Декабрь 8, 2007 @ 10:29 am
Комментарий от Раскрутка сайтов — Декабрь 8, 2007 @ 10:30 am
Комментарий от web-дизайн сайтов — Декабрь 27, 2007 @ 3:23 am
апача это вопще слабое место, так как он плохо воспринимает всякого рода не определенности (как женщина прям) ему надо либо всё разрешать, либо все блокировать, ну или жестко все прописывать, что можно, а что нельзя..
Комментарий от xtoto — Февраль 4, 2008 @ 3:51 am
Комментарий от аренда автокранов — Февраль 28, 2008 @ 7:25 pm
Комментарий от manual — Июнь 9, 2008 @ 10:22 am
Комментарий от iutoledo — Июнь 27, 2008 @ 3:18 pm
______________
/go.php?url=/go.php?url=http://rogyl.ru/
Комментарий от андрюха — Август 29, 2008 @ 12:48 pm
Комментарий от Альби — Сентябрь 30, 2008 @ 12:18 pm
Комментарий от Милана — Октябрь 26, 2008 @ 7:27 pm
Комментарий от Милан — Ноябрь 7, 2008 @ 1:31 pm
Комментарий от makhno666 — Ноябрь 17, 2008 @ 6:36 pm
Комментарий от prv — Ноябрь 17, 2008 @ 6:37 pm
Комментарий от pcix — Ноябрь 17, 2008 @ 6:39 pm
AuthUserFile /home/www/site1-passwd
Комментарий от bufc11 — Ноябрь 29, 2008 @ 5:14 pm
Комментарий от Дмитрий — Декабрь 11, 2008 @ 2:52 pm
Комментарий от Roma — Декабрь 11, 2008 @ 4:35 pm
Комментарий от Дмитрий — Декабрь 11, 2008 @ 10:12 pm
Может быть, глупый вопрос, но у меня не работает….
Комментарий от Странное место — Декабрь 26, 2008 @ 4:54 am
Комментарий от Дурулекс — Январь 9, 2009 @ 3:46 am
Отлично просто..давно подыскивал скрипт…
Комментарий от Мажоррр — Январь 10, 2009 @ 2:09 am
Комментарий от Альфон — Январь 11, 2009 @ 1:30 am
Комментарий от Домовой — Январь 24, 2009 @ 3:24 am
Комментарий от Кришна — Январь 26, 2009 @ 9:38 am
Комментарий от Эстонец — Январь 28, 2009 @ 1:52 am
Комментарий от Просто Вася — Январь 28, 2009 @ 10:02 pm
Комментарий от ГригоровиЧ — Январь 31, 2009 @ 12:19 am
Комментарий от Зарина — Февраль 1, 2009 @ 10:42 pm
Комментарий от Елизавета — Февраль 12, 2009 @ 11:51 pm
апача это вопще слабое место, так как он плохо воспринимает всякого рода не определенности (как женщина прям) ему надо либо всё разрешать, либо все блокировать, ну или жестко все прописывать, что можно, а что нельзя..
Комментарий от Гаврила — Февраль 13, 2009 @ 11:30 pm
Комментарий от Юрия — Март 21, 2009 @ 12:09 am
Комментарий от Елизавета — Апрель 5, 2009 @ 10:06 am