Следуя совету на этом сайте, я использовал image.php
файл для возврата ресурса изображения, как предложил здесь (ссылка на изображения в виде файлов недоступна из-за ограничений безопасности).
Как я могу ограничить изображения, которые определенный пользователь может «получить» из этого image.php
файл?
Я использую архитектуру ООП MVC на моем сайте. При подключении, когда index.php
выполняется, многие классы загружаются и создаются, таким образом, поток имеет переменные, указывающие, кто пользователь и к каким ресурсам он может получить доступ.
Этот файл image.php
(возвращает изображение) действует как автономный скрипт (доступ к которому осуществляется через HTML) src
атрибут со стороны клиента), не загружается уже запущенным потоком и (извините, если я его неправильно понял) не имеет переменных, указывающих, кто пользователь и к чему он может получить доступ.
я мог бы иметь image.php
пройти ту же процедуру, что и index.php
, загрузка и создание экземпляров классов, но я думаю, что это будет ужасная трата ресурсов для одного изображения.
Как я могу ограничить изображения, возвращаемые image.php
на пользовательской основе без создания дополнительной нагрузки на сервер?
РЕДАКТИРОВАТЬ: я заметил на некоторых сайтах, что image.php
передается длинная строковая переменная GET, это может быть метод?
Если я объяснил себя неясно, пожалуйста, наберитесь терпения и дайте мне знать, я постараюсь уточнить.
Вам нужно как-то идентифицировать пользователя в image.php, и это будет зависеть от того, как вы создадите сеанс пользователя. Если вы используете сессии PHP, вы можете просто сделать:
session_start();
$username = $_SESSION['username'];
// check permissions
Большинство фреймворков используют адаптеры и оболочки для сессии PHP, в image.php просто var_dump ($ _ SESSION) и проверяйте, есть ли нужная вам информация. Не забудьте вызвать session_start.
Других решений пока нет …