ограничить доступ к папке из веб-браузера, но доступ только через мой веб-сайт - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть внутренний веб-сервер с Ubuntu и настроенным Apache. Я дал доступ к / opt / data_upload, чтобы я мог использовать этот каталог для сохранения изображений, загруженных из PHP и извлечения его обратно на Ajax Получить запрос.

Моя Apache конфигурация в /etc/apache2/apache2.conf выглядит следующим образом

Alias /data_uploads "/opt/data_uploads/"

<Directory "/opt/data_uploads/">
        Options Indexes FollowSymLinks MultiViews
        Require all granted
        AllowOverride all
        Order allow,deny
        Allow from all
</Directory>

Но проблема в том, что когда я делаю http://123.45.67.89/data_uploads из браузера, он полностью доступен для всех, что опасно, и любой может видеть загруженные там изображения.

Чтобы избежать этого, я попытался Require all denied, теперь я получаю 403, но и все мои запросы Ajax get также не выполняются.

Теперь я хочу, чтобы мой веб-сайт получил к нему доступ, но если кто-то попытается получить к нему доступ http://123.45.67.89/data_uploads должен сказать 403, Как я могу решить эту проблему?

1 Ответ

1 голос
/ 22 апреля 2020

В вашей конфигурации вы предоставляете всем доступ к вашему каталогу загрузки.

Вы должны удалить это или разрешить только ваш IP.

Но в вашем случае, вам нужно разрешить пользователям загружать и загружать файлы, которые им разрешены. Это означает, что вы хотите, чтобы их HTTP-запросы могли загружать / скачивать файлы. Эти запросы http не будут напрямую обращаться к каталогу загрузки, но они вызовут ваше приложение php.

Тогда ваше приложение php сможет загрузить его в этот каталог (затем написать в этот каталог) и читать из этого каталога. Для этого вам нужно дать права на чтение / запись для apache пользовательского процесса, выполняющего что-то вроде (с помощью chmod и / или chown).

И, наконец, вам придется написать PHP контроллер, способный обрабатывать вызовы загрузки и выгрузки. Эти php код будет записывать и читать из вашего каталога загрузки.

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