[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Доступ к файлам
zvezda_t
Всем привет.

Скажите, пожалуйста, если документы которые сохраняет пользователь на сервер - загружать в каталог, который находиться выше, чем корневая директория сайта - это поможет защитить документы - от того - чтобы злоумышленники не могли к ним обращаться по прямой ссылке к файлу?

_____________

Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
zvezda_t
Но тогда я не смогу сделать тег:
<img src="http://my_site.ru/image/foto.jpg" alt="фото">


да?

_____________

Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
zvezda_t
И что делать? Фото загружать в директорию www- а остальные доки в директорию выше www ? Как быть то?

_____________

Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
Игорь_Vasinsky
директорию и доступ к файлам можно закрывать... (по секрету)

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
vagrand
zvezda_t

Опишите подробнее задачу в целом. Возможно предложим чего получше.

Цитата
Но тогда я не смогу сделать тег


Сможете, только отдавать придется через скрипт.

_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
Guest
Цитата (vagrand @ 11.11.2013 - 18:17)
Сможете, только отдавать придется через скрипт.

гений !
Игорь_Vasinsky
Guest
Цитата
гений !

Нытик!

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Эли4ка
Цитата (zvezda_t)
Скажите, пожалуйста, если документы которые сохраняет пользователь на сервер - загружать в каталог, который находиться выше, чем корневая директория сайта - это поможет защитить документы - от того - чтобы злоумышленники не могли к ним обращаться по прямой ссылке к файлу?

zvezda_t,нет
Цитата
Как быть то?

если я правильно поняла-то вопрос звучит как-то так:
надо загружать файлы,но никто извне обратиться к ним не мог?
тогда нужно через скрипт каждый раз создавать новую ссылку к файлу..
Цитата
Guest
Цитата
гений !

Нытик!

Игорь_Vasinsky, rolleyes.gif
Игорь_Vasinsky
1. закрыт доступ к директории используя .htaccess
2. написать скрипт - которым отдавать файл пользователю, при этом скрывая реальный путь.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Guest
Игорь_Vasinsky, а можно пример первого и второго?
zvezda_t
последнее сообщение от меня)

_____________

Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
zvezda_t
Цитата (zvezda_t @ 11.11.2013 - 17:51)
Но тогда я не смогу сделать тег:
<img src="http://my_site.ru/image/foto.jpg" alt="фото">


да?

оказывается могу.

вот скрипт
<?php
function imDownload($file_path) // функция, отдающая файл $file_path в браузер, может быть в отдельном файле, а может и в главном скрипте
{
$file_path = realpath($file_path);
$file_info = pathinfo($file_path);
switch($file_info['extension']) {
case 'gif': $file_mime = 'image/gif'; break;
case 'png': $file_mime = 'image/png'; break;
case 'jpe': case 'jpeg':
case 'jpg': $file_mime = 'image/jpg'; break;
default: $file_mime = 'application/octet-stream';
}

if(file_exists($file_path))
{
header('Content-Disposition: attachment; filename='. $file_info['basename']);
header('Content-Transfer-Encoding: binary');
header('Content-Length: '. filesize($file_path));
header('Content-Type: '. $file_mime);
header('Cache-Control: must-revalidate');
header('Cache-Control: private', false);
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Pragma: no-cache');
ob_clean(); flush();
readfile($file_path);
exit();
}
else
die('No such file');
}

if($auth) imDownload('private_folder/Image_2013-10-03_003.png');


если нужно в тег вставить тоже можно:
<img crc="img.php?show=Image_2013-10-03_003.png">


где в img.php - спрятан реальный путь и проверяется авторизован ли пользователь.

_____________

Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.