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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
xreprimand
Отправлено: 26 Апреля, 2013 - 20:24:14
Post Id


Новичок


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


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




Существует некий проект, частью которого есть файловый сервер.
И из-за своего нежелания покупать что-то чужое и прогибаться под структуру чужих скриптов уже 2 года успешно программирую на php, и любой скрипт и пр. пишу сам
Ситуация такая:
Имеется сотня, пусть будет тысяча файлов в папке. Проще всего поместить на страничку прямые ссылки на них, но я видел на разных сайтах, что прямые ссылки на файлы стараются не размещать, особенно если их будет много.
Вопрос вот в чем:
Какие еще ограничения принято накладывать на закачку файлов? Капча? Защита от масс. скачивания? Как принято реализовывать эти вещи (логически)?

Если кто-то знает и может дать полный ответ (но такого желания нет) могу материально отблагодарить.
Можете задать любой вопрос начиная от "uname -a" до "что за проект" Улыбка
 
 Top
Medallion
Отправлено: 26 Апреля, 2013 - 21:09:25
Post Id



Частый гость


Покинул форум
Сообщений всего: 253
Дата рег-ции: Май 2012  
Откуда: Херсон, Украина


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




xreprimand пишет:
уже 2 года успешно программирую на php


Что-то не верится!
 
 Top
caballero
Отправлено: 26 Апреля, 2013 - 21:18:57
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


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




Цитата:
И из-за своего нежелания покупать что-то чужое и прогибаться под структуру чужих скриптов уже 2 года успешно программирую на php, и любой скрипт и пр. пишу сам

а не в западло прогибаться под чужую операционку и чужую файловую систему? не говоря уже про чужой PHP и Apache.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
xreprimand
Отправлено: 26 Апреля, 2013 - 23:21:21
Post Id


Новичок


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


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




Medallion пишет:
Что-то не верится!

Какая же часть моего поста заставила усомниться в этом?
caballero пишет:
а не в западло прогибаться под чужую операционку и чужую файловую систему? не говоря уже про чужой PHP и Apache

Зачем мне изобретать велосипед? А гаечный ключ? Я пишу свой код под конкретно свои задачи, никаких недостатков или излишеств.

Вот странно люди, сказать нечего, но написать что-то надо...
 
 Top
caballero
Отправлено: 26 Апреля, 2013 - 23:31:45
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


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




Цитата:
Какая же часть моего поста заставила усомниться в этом?

все части в комплексе - неумение решать элементарные задачи слабо сочетается с двумя годами успешного програмирования (но хорошо сочетается с юношескими понтами) .

Цитата:
Зачем мне изобретать велосипед? А гаечный ключ? Я пишу свой код под конкретно свои задачи, никаких недостатков или излишеств.

тогда зачем надувать щеки о своей непрогибаемости перед чужим кодом.

Цитата:
Вот странно люди, сказать нечего, но написать что-то надо...

ну так возьми любое готовое решение и посмотри. Раз прогнулся придя спрашивать чужое мнение то какая разница - тут тебе расскажут те же стандартные решения.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
xreprimand
Отправлено: 27 Апреля, 2013 - 11:12:39
Post Id


Новичок


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


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




caballero, странный Вы человек, обычно за помощью обращаются тогда, когда самому себе её оказать невозможно.
Возможно Вы меня не так поняли, однако в любом случае мои навыки и пр. Вам мне нет смысла доказывать.
caballero пишет:
элементарные задачи
Ну-ну. Вы и без меня знаете, судя по кол-ву постов, что одну задачу можно по-разному реализировать. Я могу ее реализовать удобным или понятным для меня методом. Собственно меня и интересует более грамотный метод.

(Отредактировано автором: 27 Апреля, 2013 - 11:42:35)

 
 Top
caballero
Отправлено: 27 Апреля, 2013 - 11:47:30
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


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




Цитата:
однако в любом случае мои навыки и пр. Вам мне нет смысла доказывать.

разумеется нет смысла, я и так вижу.
Цитата:
Я могу ее реализовать удобным или понятным для меня методов.

вот и реализуй ее хоть как нибудь и покажи. если там что то неграмотное тебе покажут на это. А не заставляй людей перечислять все известные методы.

Цитата:
что одну задачу можно по-разному реализировать.

именно поэтому. Ща пять человек напишет тебе пять решений каждое из которых будет грамотнее остальных четырех. Тем более ты не написал какую задачу надо решать (защиту от скачивания, уменьшение нагрузки на сервер и т.д.) Сделать "как принято" это не постановка задачи потому как непонятно принято для чего.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
spsu
Отправлено: 27 Апреля, 2013 - 15:04:55
Post Id



Частый гость


Покинул форум
Сообщений всего: 176
Дата рег-ции: Нояб. 2012  


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




Цитата:
что прямые ссылки на файлы стараются не размещать

Конечно зальют шелл и если в папке будут выполняца какие-либо файлы получат доступ к проэкту.
В таблице БД можно хранить настоящее имя файла(под которым был залит), и имя файла под каторым был сохранен.
Тут уже надо подумать\посмотреть в других проэктах, как сделать так чтобы имя файла было уникальное.
Ну и выдавать юзверю ссылку вида: file.php?id=ИД файла в БД.
 
 Top
LIME
Отправлено: 27 Апреля, 2013 - 15:11:39
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




ну вот ...понеслась душа в рай
spsu пишет:
как сделать так чтобы имя файла было уникальное
можно сохранять с именем md5 хэша по содержанию
таким образом исключаем хранение дублей
 
 Top
spsu
Отправлено: 27 Апреля, 2013 - 15:17:18
Post Id



Частый гость


Покинул форум
Сообщений всего: 176
Дата рег-ции: Нояб. 2012  


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




LIME пишет:
ну вот ...понеслась душа в рай
spsu пишет:
как сделать так чтобы имя файла было уникальное
можно сохранять с именем md5 хэша по содержанию
таким образом исключаем хранение дублей

Вероятность коллизий в md5 к файлам маленькая но малоли... Поэтому его не упоминал.
Хотя к файлам это наверное не применимо почти но..
 
 Top
LIME
Отправлено: 27 Апреля, 2013 - 15:20:02
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




она ОООчень маленькая если применить к данному случаю
закалебесся всем миром закачивать до коллизии
и даже если разок случится то и фиг с ним
...
и в папке навсякий можно отключить выполнение скриптов
php_flag engine 0
 
 Top
spsu
Отправлено: 27 Апреля, 2013 - 15:24:00
Post Id



Частый гость


Покинул форум
Сообщений всего: 176
Дата рег-ции: Нояб. 2012  


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




LIME пишет:
она ОООчень маленькая если применить к данному случаю
закалебесся всем миром закачивать до коллизии
и даже если разок случится то и фиг с ним
...
и в папке навсякий можно отключить выполнение скриптов
php_flag engine 0

К папке куда льются файлы по хорошему надо доступ вообще закрывать...
Незачем юзверю туда напрямую заходить.
Файлы сохранять без расширения, иначе зальют например .htaccess который перезапишет старый и все.
Хотя для того чтобы не нафурычили с htaccess надо грамотно лимиты на его использование разставлять.
И загружать его выше корневой директории сайта.
 
 Top
LIME
Отправлено: 27 Апреля, 2013 - 15:26:08
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




это да...но и выполнение тоже надо отменять....иначе есть теоретическая вероятность инклуда
и о коллизиях
Цитата:
Если каждый житель земли (2^33) будет создавать ежесекундно днем и ночью по одному файлу, то первая коллизия на земном шаре произойдет примерно через 64 года.
 
 Top
xreprimand
Отправлено: 28 Апреля, 2013 - 11:06:44
Post Id


Новичок


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


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




Имя файла, вероятнее всего, будет совпадать с id в БД, а имя файла при закачке пользователем будет генерироваться из поля fname, а upload проверят содержимое, так что за "левые" файлы я не беспокоюсь.
Ума не приложу, как можно выполнить файл, если по ум. нет права на исполнение? Допустим, даже если известно где файл лежит и его имя.
Дыр в своих скриптах вроде не находил... Да и exec применяется с параноидальной осторожностью

(Отредактировано автором: 28 Апреля, 2013 - 11:07:42)

 
 Top
spsu
Отправлено: 28 Апреля, 2013 - 11:54:58
Post Id



Частый гость


Покинул форум
Сообщений всего: 176
Дата рег-ции: Нояб. 2012  


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




Цитата:
а upload проверят содержимое

Как мне кажется это не правильное поведение скрипта загрузки, по логике файлообменник должен принимать любой файл, не заботясь о его содержании.
Содержание файла должно волновать как мне кажется только владельца и то если прийдет абуза на файл.
Цитата:
Допустим, даже если известно где файл лежит и его имя.

Через LFI.

(Отредактировано автором: 28 Апреля, 2013 - 11:57:31)

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


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB