Содержание
Настройки доступа
Запретить доступ к файлам и каталогам
- Для всех пользователей ко всем файлам и каталогам:
Order allow,deny Deny from all
- Для всех пользователей к файлам с определенным расширением:
<FilesMatch ~ "\.(php|htm|html|js)$"> Order allow,deny Deny from all </FilesMatch>
- Для всех пользователей к определенному файлу:
<Files porno.php> order allow,deny deny from all </Files>
- Для определенных IP пользователей:
Order Allow,Deny Allow from All Deny from xxx.xxx.xxx.xxx
- Для браузеров / ботов:
RewriteEngine On RewriteBase / SetEnvIfNoCase Referer "^$" bad_user SetEnvIfNoCase User-Agent "^badbot1" bad_user SetEnvIfNoCase User-Agent "^badbot2" bad_user SetEnvIfNoCase User-Agent "^badbot3" bad_user Deny from env=bad_user
Замените badbot1, badbot1 и т. д. именами ботов из вашего журнала. Это закроет посторонним программам доступ к вашему сайту.
- Для попыток перейти с определенных доменов:
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_REFERER} bannedurl1.com [NC,OR] RewriteCond %{HTTP_REFERER} bannedurl2.com [NC,OR] RewriteRule .* - [F] </ifModule>
Вам необходимо заменить bannedurl1.com и bannedurl2.com доменами, которые вы хотите внести в черный список. Вы можете использовать флаг [NC], указывающий, что введенное доменное имя нечувствительно к регистру. Флаг [F] указывает на тип действия, в данном случае — отображение ошибки 403 Forbidden. Если вы хотите запретить несколько сайтов, используйте флаги [NC, OR] для каждого домена, если же вы хотите запретить использование одного домена — используйте только флаг [NC].
Разрешить доступ к каталогу и файлам
- Для определенных IP:
Order Deny,Allow Deny from All Allow from xxx.xxx.xxx.xxx
Запрет на просмотр директорий
Options All -Indexes
Если же по какой-то причине вы хотите разрешить просмотр всех директорий, используйте код:
Options All +Indexes
Доступ по паролю
- Для каталога (разместить .htaccess внутри каталога):
AuthName "18?" AuthType Basic AuthUserFile /var/www/user/www/site/.htpasswd Require valid-user
- Для файла:
<Files porno.php=""> AuthType Basic AuthName "18?" AuthUserFile /var/www/user/www/site/.htpasswd Require valid-user </files>
- Для группы файлов по регулярному выражению:
<FilesMatch .(rar|zip|pdf)$> AuthName "18?" AuthType Basic AuthUserFile /var/www/user/www/site/.htpasswd Require valid-user </FilesMatch>
где
AuthUserFile - путь к файлу с паролями;
AuthName - пояснение, обычно указывается, к чему осуществляется доступ;
AuthType - тип авторизации; практически всегда используется Basic (кроме него доступен тип Digest
Require - набор условий, по которым определяется, кто из перечисленных в .htpasswd пользователей имеет доступ к данному каталогу сайта. valid-user подразумевает, что доступ может получить любой пользователь после ввода пароля; вместо valid-user можно через пробел перечислить имена пользователей, которым предоставляется доступ.
