Я разрабатываю веб-сайт с использованием структуры Yii. На моем сайте у меня есть профили пользователей (уже реализованы). У меня будет файловый загрузчик, чтобы пользователи могли загружать изображения профиля. Некоторые профили могут быть доступны для общественности, другие будут частными. Частные профили должны быть недоступны для публичных пользователей, и изображения в этом профиле могут быть недоступны для всех, кроме владельца профиля.Как сохранить изображения профиля пользователя в частном порядке, чтобы он был доступен только владельцу профиля?
Я читал, что это плохая идея хранить изображения в базе данных MySQL, поскольку она убивает производительность и может быть запрещена на моих веб-хостах. Я думал о сохранении изображений в моем защищенном каталоге, но если это сделано, я не смогу вообще ссылаться на изображения. Как тогда я смогу отображать изображения в действительных профилях (общедоступные профили или профили, принадлежащие пользователю?)
Любые намеки или идеи будут оценены (связанные с Yii, php или любым другим). Дайте мне знать, если мой вопрос неясен. Спасибо.
* Кстати, у меня никогда не было формального курса по веб-разработке, и, как и многие другие, я узнал все, что знаю в свое время, поэтому очень возможно, что мне не хватает очень простого/очевидного решения.
звучит так, как будто это ваша архитектура, которую вам нужно адресовать. Вы должны хранить тип пользователя, который он есть, частный или общедоступный, а затем проверяя, что, когда зритель пытается просмотреть чей-то профиль. Если они не вошли в систему как (частный) пользователь профиля, который они пытаются просмотреть, не показывайте им ничего. – thescientist
Спасибо за ответ. Наверное, я не совсем понял это. Я уже реализовал его, как вы предложили (с частными и общедоступными пользователями, а пользователи, которые взломают URL-адрес, отправляются на страницу с ошибкой/доступом к отказам). Тем не менее, я обеспокоен тем, что «умным» пользователям может быть доступно доступ к изображениям частного пользователя через какой-либо URL-адрес (поскольку изображения хранятся в открытом доступе). И, как указано выше, причина, по которой я не хочу хранить его в защищенном домене, заключается в том, что я не смогу отображать изображения вообще на пользовательских страницах, но, возможно, я ошибаюсь, думая об этом? – Denzil