Как запретить пользователям открывать файл на сервере? - PullRequest
0 голосов
/ 01 июня 2018

Этот вопрос может показаться глупым, ну, действительно, он тупой.
У меня есть несколько файлов на моем сервере:
index.html, file.txt
Как мне запретить пользователям открывать файл file.txt, введя его как свойURL: website.domain/file.txt?Это возможно легко, или я должен сделать какие-то специальные папки или другую темную магию?Спасибо

Ответы [ 5 ]

0 голосов
/ 01 июня 2018

Создайте файл .htaccess там, где находится ваш index.php, и напишите это

<Files *.txt>
Deny from all
</Files>
0 голосов
/ 01 июня 2018

Простое решение - хранить файл вне публичной папки.(В вашем случае public = htdocs)

Например:

├── protected.txt
├── public
│   ├── index.html
│   ├── exec.php

А затем в вашем exec.php вы можете получить доступ к файлу с помощью:

echo file_get_contents(__DIR__ . "/../protected.txt");

(Метод # 2)

Поскольку вы упомянули в комментариях, что используете XAMPP, что означает, что вы запускаете свой сервер на Apache, я могу показать вам другой подход с использованием htaccess.

├── public
│   ├── index.html
│   ├── exec.php
│   ├── protected
│   │   ├── .htaccess
│   │   ├── protected.txt

И тогда в вашем .htaccess вы пишете:

deny from all

Это сделает каждый файл в папке protected недоступным через HTTP.

И вашexec.php файл будет выглядеть так:

echo file_get_contents(__DIR__ . "/protected/protected.txt");
0 голосов
/ 01 июня 2018

Есть несколько различных способов сделать это, через сеансы или пользовательские разрешения ', или в зависимости от того, вошел ли пользователь, например, в систему.

Просмотр чего-то подобного может помочь вамначало работы

https://www.wmtips.com/php/simple-ways-restrict-access-webpages-using.htm

0 голосов
/ 01 июня 2018

Установите разрешение для файла на 0 0 0. Таким образом, вы можете открыть файл только через панель администратора.

0 голосов
/ 01 июня 2018

Вы не должны оставлять их в общедоступном месте на вашем веб-сервере.

Вы можете ограничить доступ к отдельным файлам или группам файлов в вашем файле .htaccess. В этой теме есть несколько способов сделать это.

...