Мы с моим другом строим сайт, который позволяет пользователям загружать изображения. Мы все это отсортировали, но нам было интересно, как запретить пользователям доступ к файлам на сервере, но предоставить членам доступ к ним. Есть ли способ Apache, который позволил бы нам сделать это и связать его с PHP-скриптом, чтобы проверить, вошли ли пользователи в систему?
Да, есть модуль apache, который вы можете использовать для аутентификации: mod_auth
.
Он поддерживает несколько бэкэндов, поэтому вы можете сделать свое приложение совместно с ним.
Сам Apache также расширяется при аутентификации, существуют и другие модули, поддерживающие базу данных mysql, которая называется mod_auth_mysql
из которой существует множество вариантов. Лучшим выбором может быть mod_authn_dbd
для Apache 2.2, поскольку он предлагает общий интерфейс к базам данных SQL с несколькими вариантами. Также поддерживается ldap: mod_authnz_ldap
.
Другой альтернативой является использование PHP для проверки подлинности и последующее командование сервером для предоставления файла. Это часто называют X-Sendfile
или mod_xsendfile
, который является сторонним модулем.
Если вы ищете только PHP-решение, один из вопросов, который говорит об этом, – это как защитить паролем файлы (изображения, видео, zip) динамически от публики и разрешить доступ только к членам? ,