Запрет на доступ к сайту или определенным страницам на сервере можно установить средствами самого веб-сервера. Для этого нужно поправить файлы конфигурации веб-сервера и создать пользователя веб-сервера (Не системы!), которому будет разрешен доступ. Дальнейшее описание будет приводиться на примере Ubuntu Server 11.04, Apache 2.2.17. Правка конфигов на примере доступа к веб-статистике LightSquid. Перед любым изменением конфигурационных файлов необходимо создать их резервную копию - cp config config.old или mv config config.old. Вариант, приведенный здесь не претендует на правильность и безопасность. Это просто “чтобы работало”.Файлы конфигурации лежат в директории /etc/apache2/sites-available/. Для простейшей настройки входа по паролю требуется в описание хоста добавить следующие строки:AuthType basic #тип авторизации. basic-пароль будет передаваться без шифрования. Есть вариант с шифрованиемAuthName “Registered users only” #строка сообщения, показываемого пользователю при вводе учетных данныхAuthUserFile /var/www/.htpasswd #путь к файлу с учетными даннымиRequire valid-user #не открывать доступ, пока пользователь не авторизуетсяВот что у меня получилось:<VirtualHost *:80> DocumentRoot /var/www/html/lightsquid ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory “/usr/lib/cgi-bin”> AllowOverride NoneOptions +ExecCGI -MultiViews +SymLinksIfOwnerMatchOrder allow,denyAllow from all</Directory> <Directory “/var/www/html/lightsquid”>AddHandler cgi-script .cgiOptions ExecCGI Indexes FollowSymLinks MultiViewsAllowOverride AllAllow from allOrder allow,denyAuthType basicAuthName “Registered users only”AuthUserFile /var/www/.htpasswdRequire valid-user</Directory></VirtualHost>Далее следует добавить пользователя командой htpasswd -c /var/www/.htpasswd username Здесь ключ -c заставляет создать (create) файл с данными. При добавлении следующих пользователей этот ключ не нужен.
comments powered by Disqus