FiRеFоX
V.I.P.
- Регистрация
- 07.08.2010
- Сообщения
- 744
Нужно сделать изображения приватными, чтобы никто не мог их увидеть.
Собственно как это сделать?
Сперва сделал просто две папки: img_small и img_big - в одной уменьшенные, в другой большие.
Первая папка общедоступна (из браузера), вторая закрыта штакетом и изображения отдаются через php с помощью функции, которая проверяет, доступен ли файл этому юзеру.
Что делать с маленькой папкой? На страницу выводится по 10-30 изображений и если для каждого изображения прописывать:
<img src="/script.php?id_img=$ID"/>то будет проверяться каждое изображение на странице, типа существует ли фотка, доступна ли по приватности, вдобавок ещё и нагрузка по отдаче файла. Получается, что 1 страница - примерно 60 запросов к базе с 30 картинок и это с одного юзера. Собственно, какая база выдержит? гг
А если оставить изображения общедоступными, то любой желающий сможет кинуть другому юзеру ссылку на уменьшенную приватную картинку своего друга и поржать с народом над этой фоткой). Хоть названия картинок и зашифрованы в два md5 (64 символа), подобрать путь будет весьма проблематично, а точнее нереально т.к там ещё и папки имеют структуру длинную (128 папок, потом ещё 128, ещё 128 и там конечный файл), но никто не мешает посмотреть путь через исходный код)
Как быть сделать так по умному?)
Собственно как это сделать?
Сперва сделал просто две папки: img_small и img_big - в одной уменьшенные, в другой большие.
Первая папка общедоступна (из браузера), вторая закрыта штакетом и изображения отдаются через php с помощью функции, которая проверяет, доступен ли файл этому юзеру.
Что делать с маленькой папкой? На страницу выводится по 10-30 изображений и если для каждого изображения прописывать:
<img src="/script.php?id_img=$ID"/>то будет проверяться каждое изображение на странице, типа существует ли фотка, доступна ли по приватности, вдобавок ещё и нагрузка по отдаче файла. Получается, что 1 страница - примерно 60 запросов к базе с 30 картинок и это с одного юзера. Собственно, какая база выдержит? гг
А если оставить изображения общедоступными, то любой желающий сможет кинуть другому юзеру ссылку на уменьшенную приватную картинку своего друга и поржать с народом над этой фоткой). Хоть названия картинок и зашифрованы в два md5 (64 символа), подобрать путь будет весьма проблематично, а точнее нереально т.к там ещё и папки имеют структуру длинную (128 папок, потом ещё 128, ещё 128 и там конечный файл), но никто не мешает посмотреть путь через исходный код)
Как быть сделать так по умному?)