Разрешить зарегистрированным / зарегистрированным пользователям доступ к файлам папок в каталоге - PullRequest
0 голосов
/ 16 февраля 2019

Как разрешить зарегистрированным / зарегистрированным пользователям только прямой доступ к URL-адресу файлов и папок на веб-сервере?

Допустим, у меня есть папка, подобная http://www.example.com/quiz/, в этой папке много файлов, index.html и папок для загрузки наших опросов.

, если пользователь не зарегистрирован или не вошел в системув URL не должно быть доступно.

Ответы [ 2 ]

0 голосов
/ 17 февраля 2019

спасибо, это помогает, и этот .htaccess решает мою проблему

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mywebsite\.com/ [NC]
RewriteCond %{REQUEST_URI} !hotlink\.(js|gif|png|jpg|doc|xls|pdf|html|htm|xlsx|docx|mp4|mov) [NC]
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in.*$ [NC]
RewriteRule .*\.(js|gif|png|jpg|doc|xls|pdf|html|htm|xlsx|docx|mp4|mov)$ https://mywebsite.com/log-in/ [NC]
0 голосов
/ 16 февраля 2019

Сначала необходимо перенаправить все запросы в обработчик PHP, используя что-то вроде этого в файле .htaccess или в файле конфигурации Apache:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /quiz/index.php [L,QSA]

(Если вы не используете Apache, выВам нужно будет посмотреть, как это сделать для вашего конкретного сервера.)

А затем в /quiz/index.php вы запустите любую проверку, которую вы обычно используете, чтобы проверить, вошел ли пользователь в систему, и если они есть,выведите содержимое файла, который они пытались получить (на основе запроса URI, доступного в $_SERVER['REQUEST_URI']).Если нет, отправьте их на страницу входа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...