Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Безопасная загрузка

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
PATCH
Отправлено: 15 Июля, 2011 - 23:03:37
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011  


Помог: 22 раз(а)




суть такова определяем mime type файла и расширение если расширение и Mimetype допустим картинка то мы ее нормально загружаем только переменовываем имя картинки если же допустим php скрипт то мы меняем расширение на .wsw допустим. стоит ли шифровать путь до файла? допустим сохраняем в бд путь, имя файла и выводим его через запрос по id в базе. вообще что может сделать злоумышленик если напрямую запросит .wsw файл . Если он допустим mime type в клиенте (браузере) поменяет, то код в этом файле не должен исполнятся ведь так?. и вообще какие он еще может сделать манипуляции?
пишу все набросками так как еще нечего не реализовывал.
 
 Top
EuGen Администратор
Отправлено: 15 Июля, 2011 - 23:37:30
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Если уж так не доверяете файловой системе, храните данные в BLOB прямо в БД
http://dev[dot]mysql[dot]com/doc/refman/5[dot]0/en/blob[dot]html

Но это не обязательно - можно придумать много способов защиты от доступа извне.
Например, определить каталог хранения файлов в месте, недоступному через веб (например, где-то в каталогах, выше DocumentRoot для Вашего проекта) и отдавать скриптом. Функция для этого есть здесь:
http://forum.php.su/topic.php?fo...=35&topic=11


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
PATCH
Отправлено: 15 Июля, 2011 - 23:46:29
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011  


Помог: 22 раз(а)




не выше тоже не дело) файл то будут запрашивать пользователи эт тока на время хранения файл переменовывается в расширение .wsw а когда он запрашивается переменовывается в тот формат который был только с запросом сохранить. подобное реализовано на многих форумах и файловых обмениках ссылка шифруется прямая ссылка хранится в бд а имя файла переменовывается допустим день_час_минута_секунда. если я допустим все ет дело зашифровал (скрыл исходный путь к файлу) . но если будет гдето уязвимость и взлоумышлиник узнает прямой путь файла , но файл будет в расширение .wsw что он может сделать с этим файлом (внутри file.wsw php код допустим). он сможет его запустить этот php код?т.е заставить его использовать интепритатор php?

(Отредактировано автором: 15 Июля, 2011 - 23:47:54)

 
 Top
EuGen Администратор
Отправлено: 16 Июля, 2011 - 10:31:51
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Ну так у Вас и будет непрямая ссылка. Скрипт будет получать файл по некоторому идентификатору, а веб-сервер не будет иметь доступа к нему.
"Запустить" файл никто не сможет, разве что Вы специально не настроите веб-сервер, чтобы он так делал.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
PATCH
Отправлено: 16 Июля, 2011 - 13:50:06
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011  


Помог: 22 раз(а)




спасибо за разъяснение) пойду пробывать)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с файловой системой и файлами »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB