Назад | Перейти на главную страницу

Защитить файлы от несанкционированного доступа

У меня есть очень большая проблема, которую я безуспешно пытался решить последние несколько дней. У меня есть файлы с расписаниями занятий, они импортируются на сервер из внешнего источника (формат html). Мне нужно заблокировать прямой доступ к этим файлам. Они отображаются скриптом PHP. Итак, это предположения: -файлы, отображаемые через php-скрипт -файлы не могут быть изменены каким-либо образом (html-файлы) -должен быть прямой доступ к этим файлам -сервер - это apache

Любые идеи? Я пробовал использовать htaccess, но, возможно, я недостаточно компетентен, потому что он также блокировал доступ к файлам для php-скрипта.

Заранее спасибо.

Я думаю, что другой способ:

  1. создать таблицу "ключ-значение", переименовать файл, старое имя является ключевым, а значение - новым (может быть md5 ('xx') или другой длинной / нерегулярной / уникальной строкой).
  2. поиск по таблице "ключ-значение" при доступе к файлам.

использовать .htaccess

Пример RewriteRule

RewriteEngine on
RewriteRule ^folder/$ http://path_to_different_page.php 

файлы, отображаемые через php скрипт

Храните пароли где-нибудь (надежно). HTML-форма для отправки учетных данных. $_POST читать их. PDO для их чтения. включают для включения файлов, если пользователь авторизован.

-файлы не могут быть изменены никаким образом (html файлы)

Вся логика идет на PHP. Все учетные данные хранятся снаружи.

- к этим файлам не должно быть прямого доступа

Храните файлы вне DocumentRoot.

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

AuthName "Restricted Area" 
AuthType Basic 
AuthUserFile /path/to/passwordfile/.htpasswd 
AuthGroupFile /dev/null 
<Files admin.php>
require valid-user
</Files>
<Files protected.htm>
require valid-user
</Files>
<Files protected2.htm>
require valid-user
</Files>

Вам также необходимо создать один файл .htpasswd и обновить AuthUserFile путь к расположению этого файла .... Инструмент доступен по адресу http://tools.dynamicdrive.com/password/ создать эти .htaccess и .htpasswd файлы.