1. Запрещаем доступ для всех, кроме указанных IP-адресов
Если по какой-либо причине, вы хотите запретить всем или разрешить только отдельным IP-адресам доступ к вашему сайту — добавьте этот код в ваш .htaccess-файл:
#Запрещаем доступ для всех, кроме указанных IP-адресов ErrorDocument 403 http://www.domainname.com Order deny,allow Deny from all Allow from 124.34.48.165 Allow from 102.54.68.123
Не забудьте изменить domainname.com на ваше доменное имя.
2. Защищаем определенный файл
Нижеследующий код позволяет вам запретить доступ к любому файлу — при запросе будет выдаваться ошибка 403. Для примера я закрыл доступ к самому файлу htaccess, повысив общий уровень безопасности сайта.
#Защищаем .htaccess файл <files .htaccess=""> order allow,deny deny from all </files>
3. Защищаем паролем папки и файлы
Вы можете включить проверку пароля для доступа в любую папку или файл на вашем сервере, используя этот код:
#защита паролем файла <files secure.php=""> AuthType Basic AuthName «Prompt» AuthUserFile /pub/home/.htpasswd Require valid-user </files> #защита паролем папки resides AuthType basic AuthName «This directory is protected» AuthUserFile /pub/home/.htpasswd AuthGroupFile /dev/null Require valid-user
Для того, чтобы организовать доступ к файлу по паролю, необходимо создать файл .htpasswd и внести в него пару логин-пароль в форматеuser:password.
Однако в этом случае пароли будут хранится в открытом виде, что не слишком хорошо с точки зрения безопасности. Поэтому оптимальнее пароль зашифровать. Для этого воспользуйтесь сервисами генерации записей в файлы .htpasswd. Например, вот таким.
В нашем примере файл с паролями доступа лежит в корневой директории сайта и называется .htpasswd. Директория указывается от корня сервера и если путь будет некорректным — Apache, не получив доступа к файлу, откажет в доступе к папке любому пользователю — в том чилсе и тому, который ввел правильную парулогин:пароль.
4. htaccess защита сайта
Данный код позволяет защитить сайт от scripts enjectionи нежелательных модификаций _REQUEST и/или GLOBALS:
#Включаем отслеживание сим-ссылок Options +FollowSymLinks #Запускаем url_rewriting RewriteEngine On #Блокируем все ссылки, содержащие <script> RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR] #Блокируем все скрипты, которые пытаются изменить переменные PHP Globals: RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR] #Блокируем все скрипты, которые пытаются изменить переменную _REQUEST: RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) #Перенаправляем все подобные на страницу с ошибкой 403 — запрещено RewriteRule ^(.*)$ index.php [F,L]