Как ограничить доступ к моему сайту с помощью htaccess
Как запретить доступ к сайту всем, кроме меня?
4 answers
Для разнообразия: если у вас есть статический IP-адрес, вы можете заблокировать все IP-адреса, кроме вашего:
order deny, allow
deny from all
allow from xxx.xxx.xxx.xxx
Просто измените xxx.xxx.xxx.xxx на свой IP-адрес.
(на сервере Apache) Шаги
- Выберите каталог, который вы хотите защитить Вы хотите защитить весь сайт, затем выберите "public_html". Также выберите каталог, например, "../пароль", в котором будет храниться пароль.
- Создайте файл .htaccess и .htpasswd
- Отредактируйте .htaccess с помощью вашего любимого редактора, чтобы он содержал следующее:
Файл аутентификации /путь/к/паролю/.htpasswd
Файл группы авторизации /dev/нуль
Имя пользователя "Имя запроса аутентификации"
Базовый тип аутентификации
- поместите .htaccess в защищаемую папку
-
Отредактируйте .htpasswd, чтобы он содержал имя пользователя и пароли. Синтаксис [имя пользователя]:[md5-зашифрованный пароль] Используйте генератор для шифрования, например
Панель управления: Fkb3n2r1vsba
Поместите .htpasswd в выбранный каталог и убедитесь, что вы изменили разрешение каталогов, чтобы только сервер мог получить доступ, например, запустить chmod g+r,g+x, o-r, o-x пароль
Если вы используете сервер Apache, просто создайте файл .htpasswd и загрузите его в свой основной каталог.
Однажды я придумал решение, которое я называю режимом обслуживания.htaccess. Он использует mod_rewrite, ограничивает сайт вашим IP-адресом и перенаправляет других людей на другой URL.
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^192\.168\.1\.100
RewriteCond %{REQUEST_URI} !^/403\.html$
RewriteRule ^(.*)$ http://site.com/403.html [R=307,L]
Небольшое объяснение: В первой строке проверяется IP-адрес. Третий перенаправляет пользователя на 403.html страница. В принципе, это перенаправило бы все страницы на 403.html, в том числе 403.html - вторая строка предотвращает это, поэтому пользователи не могут входить в бесконечный цикл перенаправления.