Ограничение доступа к изображениям на сайте

StackOverflow https://stackoverflow.com/questions/1202335

  •  05-07-2019
  •  | 
  •  

Вопрос

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

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

Используйте php readfile () или перенаправьте для отображения файл изображения?

Я не в восторге от решения для чтения файлов, поскольку загрузка изображений кажется медленной, и я хотел бы иметь возможность использовать FancyZoom от Cabel Sasser, который требует беспрепятственного доступа к изображению (его библиотека хочет ссылку к полноразмерному изображению), чтобы исключить .htaccess.

Напомним, что я пытаюсь сделать:

1) Предоставьте сайт, где я даю пользователям возможность идентифицировать себя как кого-то, кого я хотел бы посмотреть на мои изображения. 2) Ограничить случайным пользователям сети возможность видеть эти изображения. 3) Используйте FancyZoom, чтобы взорвать миниатюры.

Мне все равно, какую технологию это использует - Javascript, PHP и т. д. - что бы ни было самым чистым и простым.

Кстати, я Java-разработчик, а не веб-разработчик, поэтому, вероятно, я не думаю о проблеме правильно.

Это было полезно?

Решение

Вместо предоставления ссылки на изображение. Предоставьте ссылку на скрипт cgi, который автоматически предоставит правильный заголовок и содержимое изображения.

Например: image.php? sample.jpg

Затем вы можете убедиться, что они уже аутентифицированы (например, передают идентификатор сеанса) как часть ссылки.

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

header('Content-Type: image/jpeg');

Изменить: если это должно быть быстро, вы можете написать это на C / C ++ вместо php.

Другие советы

Использование .htaccess должно быть методом safest / simplest , поскольку он встроен в функциональность самого веб-сервера.

Я не знаю, соответствует ли он вашим потребностям, но я решил аналогичную проблему (предоставление фотографий ограниченной группе людей) с помощью TinyWebGallery , представляющее собой приложение небольшой галереи без базы данных .

Вы можете разрешить доступ к различным каталогам по паролю и загружать изображения непосредственно в файловую систему, так как TinyWebGallery будет проверять наличие новых папок / фотографий на лету. Он генерирует миниатюры и дает пользователям возможность оценивать / комментировать фотографии (Вы можете отключить это).

Это не самый маленький инструмент, однако мне кажется, что его гораздо проще настроить, чем с помощью директив apache, и он выглядит лучше, как голые изображения .

Если вы используете Nginx , вы можете использовать Модуль защищенной связи .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top