Как разрешить только те же доменные запросы для определенных каталогов с.htaccess?

У меня есть несколько каталогов (скажем, engine/), к которым должны обращаться только определенные php-коды, находящиеся в общедоступных каталогах, поэтому внешний доступ вообще не требуется.

Как ограничить каждый доступ к запросам из того же домена (где код развернут без жесткого кодирования доменного имени)?

Может ли гуру.htaccess помочь мне здесь?


Оказалось, что помимо доступа на основе реферера, я также должен как-то запретить прямой доступ.

1 ответ

Вот пример использования Mod_rewrite для управления доступом

SetEnvIf Referer example\.com localreferer
<FilesMatch \.(jpg|png|gif)$>
Order deny,allow
Deny from all
Allow from env=localreferer
</FilesMatch>

ОБНОВИТЬ:

Чтобы защитить каталоги с помощью одного файла.htaccess в корневом каталоге, должно работать что-то вроде этого:

Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !mydomain\.com [NC]
# Add/Remove directories in next line
RewriteCond %{REQUEST_URI} /(dir1|dir2|dir3) [NC]
RewriteRule .* - [F,NC]
Другие вопросы по тегам