2016-10-16 4 views
0

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

Проблема заключается в следующем: у меня есть файловая система, которая позволяет моим пользователям загружать изображение профиля, а в будущем - полную частную галерею. Я хочу, чтобы с одной из моих собственных страниц мог получать эти фотографии профиля, например, в чате, просто добавив <img src="http://example.org/usercontent/[FOLDERID]/profilepicture.png" />. В то же время я хочу, чтобы люди не вводили http://example.org/usercontent/[FOLDERID]/profilepicture.png в свою строку URL-адресов и просто просматривали picure напрямую, потому что эти изображения должны отображаться только для зарегистрированных пользователей. Возможно ли это? Я пробовал такие вещи, как <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?example\.org/.*$ [NC] RewriteRule .(gif|jpg|png|jpeg)$ [R,NC,L] </ifModule> в моем файле .htaccess, но это приводит к блокировке всех моих изображений, даже когда я пытаюсь выполнить <img src="http://example.org/usercontent/[FOLDERID]/profilepicture.png" />, что должно просто отображать изображение, учитывая, что тег изображения написан на одной из моих собственных страниц ,

ответ

2

Я хочу, чтобы люди от входа http://example.org/usercontent/[FOLDERID]/profilepicture.png в их адресной строке и просто просмотреть Picure непосредственно, потому что эти картины должны быть видны только для зарегистрированных пользователей

Вы должны написать скрипт, который проверяет пользователя, регистрируется и возвращает файл изображения, если это так, например, используя readfile() и подходящие заголовки типов и кешей, или, возможно, файл mod_send.

Проверка ссылок не является ни безопасной, ни надежной; он не является работоспособным механизмом аутентификации.

+0

Не понимаю. Не запрашивает ли 'readfile' загрузку? Я просто хочу показать картинку, а не скачать ее. –

+0

'readfile' просто передает файл в браузер. Это зависит от браузера, чтобы решить, что с ним делать. Обычно он отображает его как изображение, если он находится в элементе '', и он предложит сохранить его, если он обслуживается заголовком Content-Disposition: attachment. – bobince

 Смежные вопросы

  • Нет связанных вопросов^_^