Запретить просмотр определенных файлов .php - PullRequest
0 голосов
/ 21 ноября 2010

Я использую PHP с Apache и красивые URL с mod_rewrite.

У меня есть index.php, где я включаю некоторые другие файлы .php, которые содержат содержимое.
Теперь я хотел бы запретить людям просматривать эти (только контент) файлы .php, если они, конечно, не включены в мой index.php скрипт.

Это RewriteRule, который я использую:
RewriteRule ^/?([a-zA-Z0-9/-]+)/?$ /index.php [NC,L]

Он переписывает каждый запрос в index.php, где запросы обрабатываются и содержимое включается соответствующим образом.

Есть ли способ сделать это с mod_rewrite, т.е. с моим .htaccess? Чтобы вообще запретить доступ к файлам .php или что-то в этом роде?

Спасибо!

Ответы [ 3 ]

4 голосов
/ 21 ноября 2010

Храните ваши файлы PHP (кроме index.php) вне корневого каталога. Вы по-прежнему можете включать / запрашивать их в своем коде, но люди не смогут получить к ним доступ по URL.

4 голосов
/ 21 ноября 2010

Поместите константу в ваш индексный файл, а затем в каждом php-файле сделайте что-то вроде:

defined('ALLOWED') or die('No direct script access.');
2 голосов
/ 21 ноября 2010

Как вы получаете доступ к этим файлам в настоящее время, если все запросы переписаны в index.php?Вам не нужно отказывать в доступе.

Используйте

RewriteRule ^(.*)$ index.php [L]

и обрабатывайте все остальное в PHP.

...