.htaccess: как ограничить доступ к одному файлу по IP?
Я смотрю повсюду, но постоянно сталкивается с той же информацией, которая говорит об ограничении IP-адресов на уровне каталогов, что обычно выглядит примерно так:
Order Deny,Allow
Deny from all
Allow from 123.123.123.123
Возможно ли иметь ограничение на доступ к одному или тому же типу доступа к странице/документу?
Ответы
Ответ 1
Это позволит либо кому-то из IP 127.0.0.1, либо зарегистрирован как действительный пользователь. Вставьте его либо в конфигурационный файл, либо в файл .htaccess.
<Files learn.php>
Satisfy any
Order deny,allow
Deny from all
Allow from 127.0.0.1
AuthType Basic
AuthName "private"
AuthUserFile /var/www/phpexperts.pro/.htpasswd
AuthGroupFile /dev/null
Require valid-user
</Files>
IP Alone:
<Files learn.php>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Files>
Это определенно отвечает на ваш вопрос.
Ответ 2
Я думаю, что директива должна быть:
Order deny,allow
для ответа выше, чтобы работать (по крайней мере, для решения IP Alone).
Ответ 3
Решение на основе Mod-rewrite:
RewriteEngine on
RewriteCond %{REMOTE_ADDR} !^Y\.O\.U\.R\.IP$
RewriteRule ^file\.php$ - [F,L]
В приведенном выше коде rewrite будет отклонено все запросы file.php, если клиентский ip не соответствует IP-адресу в шаблоне RewriteCond