Как загружать на сайте картинки, которые находятся не в папке с сайтом

Статус
В этой теме нельзя размещать новые ответы.

verfaa

Профессор
Регистрация
29 Янв 2007
Сообщения
416
Реакции
49
Есть сайт на сервере, который находится в директории
Код:
/home/site.com/public_html/
И есть на сервере папка с картинками, js и php файлами в директории
Код:
/home/images/

Как получить доступ к php-файлам понятно - просто вбиваю вроде include_once "../../images/file.php"; и работает нормально. А вот как быть с картинками и js файлами? Возможно ли сделать, чтобы они грузились по адресу Для просмотра ссылки Войди или Зарегистрируйсяkartinka.jpg а подгружались при этом из /home/images/? И возможно ли такое в принципе, может реврайтом как-нить? Или вообще никак такое не сделать?
 
Для php есть readfile Для просмотра ссылки Войди или Зарегистрируйся путь к файлам задай абсолютный или относительный.
Так же через include можешь и картинки, js выводить, позаботившись об отдаче корректных заголовков Для просмотра ссылки Войди или Зарегистрируйся и проверке файла на существование.

Через реврайты не уверен, но если есть доступ к настройкам апача, что-то такое там должно быть...
 
дело в том, что js, jpg, css-файлы которые находятся в папке /home/images/ - это шаблон смарти, из сайта я к нему подключаюсь
Код:
$conf['images_path'] = "/home/images/";
$smarty->assign( "images_path", $conf['images_path'] );

а в шаблоне js, jpg, css-файлы затем уже выводятся в виде {$images_path}/images/bgno.jpg
Шаблон с файлами разместил выше директории с сайтом для дополнительной безопасности, т.к. даже официальная документация смарти призывает не размещать
папки с шаблонами в корне сайта. Но как теперь загружать картинки из этой папки, если они находится не в папке с сайтом??
И в связи с этим ещё один вопрос к нашим php-гуру :) Такое размещение файлов и библиотек смарти (выше корня сайта) повысит хоть как-то безопасность сайта? Есть в этом смысл?
 
js, jpg, css-файлы безболезненно можно перенести в корень сайта.
Выше директории имеет смысл выносить именно php и им подобные.
Если не забывать ставить htaccess с запретом на прямой доступ к файлам и уверенны, что хостинг вдруг не перестанет обрабатывать htaccess (такое случается), то можно и смарти и в директории сайта хранить. Вынос выше позволит себя чувствовать чуть спокойней по поводу взлома через баги смарти и его расширений. Но, мне например, не нравится, что сервер позволяет читать файлам сайта читать то, что находится выше директории сайта - дыра в одном сайте даёт злоумышленнику доступ ко всем сайтам на хостинге...
 
Спасибо latteo :) , сайт будет размещаться на выделенном сервере, других сайтов на нём не будет. Но я всёже принял решение разместить библиотеки смарти и другие библиотеки, классы, инклуды с функциями вне корня сайта. А для js, jpg, css-файлов уже завёл отдельную папку в директории с сайтом, только единственно неудобно очень для меня будет при разработке шаблона js, jpg, css-файлы кидать в одну папку, а потом делать несколько кликов чтобы загрузить .tpl в другую папку (и так по 50-70 раз в день, пока дизайн доработаю) :) Ну ленивый я.
И ещё, подскажите как поставить в htaccess запрет на прямой доступ к файлам, спасибо)
 
Добавление в htaccess
Код:
order deny,allow
deny from all
Запретит апачу отдавать файлы из этой папки кому бы то ни было, но файлы по прежнему можно будет подключать в скриптах.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху