|
Карма: 0
Сообщений: 10 Сила слова: 0
|
Все выходные ковыряю интернет, но проблема не решается.
Проблема такая...
Сайт построен с применением smarty
На сайте есть папка с фотографиями, имеющими адреса вида... http://sitename.ru/images/photos/12345.jpg (и так далее)
На странице , например view.php (в соотв. шаблоне view.tpl) имеется код.
{section name=pm_loop loop=$pms}
{if $pms[pm_loop].ps_photo}
<a href="{$pms[pm_loop].ps_photo}" target="_blank">
<img src="{$pms[pm_loop].ps_photo}" width="150px"/>
</a>
{/if}
{/section}
где $pms[pm_loop].ps_photo является по сути адресом картинки
Я хочу лишить всех возможности заходить по ссылке http://sitename.ru/images/photos/12345.jpg и видеть фото.
для этого пихаю в папку с картинками .htaccess, где запрещаю все и всем.
После этого создаю файл viewfoto.php, где пишу
<?php
$bububu= "вот тут не знаю что писать";
header("Content-Type: image/gif");
readfile($bububu);
?>
переменной bububu надо как-то дать адрес картинки (тот, который $pms[pm_loop].ps_photo)
Но я не понимаю как это сделать. Видимо надо как-то передать значение из tpl файла в viewfoto.php. Мне это не под силу оказалось.
Возможно есть какое-то более простое решение, но я его не вижу.
Прошу помощи :)
Также есть вопрос по поводу запрета в htaccess(deny from all) - не помешает ли он функции readfile прочесть картинку? Спустя 2 минуты 47 секунд добавил забыл написать, что в view.tpl, соответственно, нужно будет заменить ссылку на <a href="viewfoto.php">тут текст или картинка</a>
|
|
|
|
|
Записан
|
|
|
|
|
Frozzeg ↓
|
 |
|
05 Июнь, 2011, 04:10:35 , спустя 1 минуту 33 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Пятросянище Карма: 92
Сообщений: 5499 Сила слова: 1.67
|
я не атец программинга, но сделал бы так:
вместо ссылок типа 1024.jpg были ссылки viewfoto.php?=1024.jpg, т.е. в гет параметре передаем название картинки в управляющий скрипт, который уже определяет можно ли показать эту каритнку или нет
ну и с помощью mod_rewrite можно превратить ссылки вида viewfoto.php?=1024.jpg в 1024.jpg
|
|
|
|
|
Записан
|
Эксперт — это человек, который в узкой области допустил все возможные ошибки. © Нильс Бор. Отложить на завтра — значит впасть в рекурсию. © Frozzeg
|
|
|
|
maximum_ru ↓
|
 |
|
05 Июнь, 2011, 04:23:12 , спустя 12 минут 37 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 10 Сила слова: 0
|
передаем название картинки в управляющий скрипт, который уже определяет можно ли показать эту картинку или нет
проблема в том, что в этой папке хранится куча фото (пользователи прикладывают к личн. сообщениям фото и отсылают другим пользователям) Т.е. фото должно быть доступно для двоих (отправитель и получатель)
И сваять такую проверку я не смогу - она мне кажется многократно сложнее того способа, который я тут описал. Вот.
Вся возня для того, чтобы никто не мог написать в браузере http://sitename.ru/images/photos/1.jpg, потом поменять цифру на 2 и посмотреть второе фото и так далее. И в то же время чтобы два пользователя видели данное фото.
Как то так. Может пытаюсь изобрести велосипед.
|
|
|
|
|
Записан
|
|
|
|
|
Frozzeg ↓
|
 |
|
05 Июнь, 2011, 04:25:49 , спустя 2 минуты 37 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Пятросянище Карма: 92
Сообщений: 5499 Сила слова: 1.67
|
вообще на такой случай хеш придумали )
|
|
|
|
|
Записан
|
Эксперт — это человек, который в узкой области допустил все возможные ошибки. © Нильс Бор. Отложить на завтра — значит впасть в рекурсию. © Frozzeg
|
|
|
|
maximum_ru ↓
|
 |
|
05 Июнь, 2011, 04:30:10 , спустя 4 минуты 21 секунду
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 10 Сила слова: 0
|
вообще на такой случай хеш придумали )
а где почитать про это? и какой запрос в поиске?
я в программировании вообще не рублю, и чую, что хэш - это дебри)
|
|
|
|
|
Записан
|
|
|
|
|
Frozzeg ↓
|
 |
|
05 Июнь, 2011, 04:32:34 , спустя 2 минуты 24 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Пятросянище Карма: 92
Сообщений: 5499 Сила слова: 1.67
|
хеш это рандом, файлы нужно сохранять ввиде jakd456w54dq65adas54dqw.jpg
почитай про функцию md5() :D
ну проблему с уже загруженными картинками это не решит
хотя можно пройтись по всем файлам и переименовать
|
|
|
|
|
Записан
|
Эксперт — это человек, который в узкой области допустил все возможные ошибки. © Нильс Бор. Отложить на завтра — значит впасть в рекурсию. © Frozzeg
|
|
|
|
maximum_ru ↓
|
 |
|
05 Июнь, 2011, 04:38:33 , спустя 5 минут 59 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 10 Сила слова: 0
|
хеш это рандом, файлы нужно сохранять ввиде jakd456w54dq65adas54dqw.jpg
почитай про функцию md5() :D
спасибо, почитаю.
но, отвлекаясь от рандомных имен, - не знаешь как присвоить переменной $bububu нужный адрес, который знает view.tpl ?
я читал про get_template_vars (вроде то что нужно) но реализовать все же не удалось.
|
|
|
|
|
Записан
|
|
|
|
|
Frozzeg ↓
|
 |
|
05 Июнь, 2011, 05:00:26 , спустя 21 минуту 53 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Пятросянище Карма: 92
Сообщений: 5499 Сила слова: 1.67
|
не знаю
|
|
|
|
|
Записан
|
Эксперт — это человек, который в узкой области допустил все возможные ошибки. © Нильс Бор. Отложить на завтра — значит впасть в рекурсию. © Frozzeg
|
|
|
|
md5 ↓
|
 |
|
05 Июнь, 2011, 06:36:30 , спустя 1 час 36 минут 4 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
выезд, апартаменты, массаж, стриптиз, подружки, дорого
Группа: в ухо Карма: не нужна
Сообщений: 10495 Сила слова: 1.19
|
тебе надо написать rewrite, который адрес http://sitename.ru/images/photos/12345.jpg направит на скрипт и передаст в виде параметра - запрашиваемую картинку, ты ее в скрипте откроешь через file_get_contents и отдашь
|
|
|
|
|
Записан
|
8: Undefined variable: str Файл: /home/pyha/pyha.ru/forum/bbcode/Xbb/Tags/Man.php Строка: 18 adw0rd: мудень блять, я уже фиксить стал эту фигню :) md5: вуахахахаха
|
|
|
|
maximum_ru ↓
|
 |
|
05 Июнь, 2011, 06:58:33 , спустя 22 минуты 3 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 10 Сила слова: 0
|
тебе надо написать rewrite, который адрес http://sitename.ru/images/photos/12345.jpg направит на скрипт и передаст в виде параметра - запрашиваемую картинку, ты ее в скрипте откроешь через file_get_contents и отдашь
я php не знаю абсолютно, smarty тоже.
эта рекомендация мне в простой логике понятна. но интерпретировать в код я ее не могу :(
я полагал, что смогу какой нибудь код вписать вместо "вот тут не знаю что писать"... например "взять значение переменной ($pms[pm_loop].ps_photo) из view.php"
вот. а file_get_contents и хэши уводят меня в дебри. Я прекрасно понимаю, что оно так и правильней и проще и все такое. Но не могу я это осилить)) Для этого нужно php изучить сначала. А мне, во-первых, хочется "стулья вперед", а во вторых за php я брался уже не один и не два раза. Не понимаю я его. Или не по тем "учебникам" начинаю изучать.
так что фактически я, видимо, отношусь к тем, кому необходимо "написать за них", но кагбэ и не надеюсь ни на что.
так что за советы спасибо огромное, но реализовать у меня их не получается :(
|
|
|
|
|
Записан
|
|
|
|
|
md5 ↓
|
 |
|
05 Июнь, 2011, 07:00:57 , спустя 2 минуты 24 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
выезд, апартаменты, массаж, стриптиз, подружки, дорого
Группа: в ухо Карма: не нужна
Сообщений: 10495 Сила слова: 1.19
|
ну, значит не правильно выбран раздел
перенеси в предлагаю работу и кто-нибудь тебе сделает это за деньги, там дел не на долго и не на дорого
|
|
|
|
|
Записан
|
8: Undefined variable: str Файл: /home/pyha/pyha.ru/forum/bbcode/Xbb/Tags/Man.php Строка: 18 adw0rd: мудень блять, я уже фиксить стал эту фигню :) md5: вуахахахаха
|
|
|
|
artoodetoo ↓
|
 |
|
05 Июнь, 2011, 07:09:11 , спустя 8 минут 14 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
|
|
maximum_ru ↓
|
 |
|
05 Июнь, 2011, 07:17:29 , спустя 8 минут 18 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 10 Сила слова: 0
|
artoodetoo
вот как раз над реврайтом я бился до 4 утра сегодня :)))
И вобщем то опять же все просто - нужно чтобы файлы(фотки) данной папки могла просматривать только страница viewfoto.php (на которую приходишь с view.php). И все равно у меня не получилось. Выходило, что либо почему то все могут смотреть, либо никто.
Да и проблему мою это решило бы не до конца. Ведь я не могу readfile - у указать ссылку на фото на основе переменной. Спустя 1 минуту 32 секунды добавил вот тут http://www.beget.ru/art9.html кстати хорошая статья про htaccess Спустя 1 минуту 2 секунды добавил еще это называется антилич
|
|
|
|
|
Записан
|
|
|
|
|
artoodetoo ↓
|
 |
|
05 Июнь, 2011, 08:51:11 , спустя 1 час 33 минуты 42 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
с особым цинизмом
Группа: в ухо Карма: 124
Сообщений: 3805 Сила слова: 3.26
|
maximum_ru, ты чертов мозгоеб. не надо биться, сделай как делают уже три поколения вебмастеров. только не косячь.
когда проверяешь результат, имей в виду, что твой браузер охуенно хорошо кеширует картинки.
если ты видишь картинку это не значит, что она реально доступна. возможно браузер и не пытался ее прочитать заново. делай поправку.
|
|
|
|
|
Записан
|
|
|
|
|
maximum_ru ↓
|
 |
|
05 Июнь, 2011, 09:11:20 , спустя 20 минут 9 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 10 Сила слова: 0
|
artoodetoo
мозгоеб - возможно. но не долбоеб ни разу. про ctrl + f5 слышал
сам бы уже давно не ломался и написал мне код, если силен в энтом деле. потренировался бы как раз
|
|
|
|
|
Записан
|
|
|
|
|