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

Если кто-то знает и может дать полный ответ (но такого желания нет) могу материально отблагодарить.
Можете задать любой вопрос начиная от "uname -a" до "что за проект" smile.gif
vagrand
Хех, ну главный вопрос к вам - берете ли вы деньги за upload/download/storage? Если берете, то как тарифицируете - за трафик или за место на диске? Хотите ли вы что бы пользователь перед скачиванием файла смотрел рекламную страницу?
Ну в общем вопросов много и исходя из ответа на них можно предложить вам различные способы построения вашего файл-сервера.

_____________
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, фрагменты.
xreprimand
Цитата (vagrand @ 27.04.2013 - 10:23)
Хех, ну главный вопрос к вам - берете ли вы деньги за upload/download/storage? Если берете, то как тарифицируете - за трафик или за место на диске? Хотите ли вы что бы пользователь перед скачиванием файла смотрел рекламную страницу?
Ну в общем вопросов много и исходя из ответа на них можно предложить вам различные способы построения вашего файл-сервера.

Спасибо за ответ !
За upload/download никаких денег - у меня общая абонплата на трафик сервера.
Винчестеры мои, по надобности предполагаю докупать. На данный момет (еще тестовый сайт) имеется 10 ТБ. На сайте не будет никакой спец. рекламы при скачивании.
Дело в том, что у меня будет не аналог рапидшары и т.д. а что-то схожее с ex.ua
Вот мне и интересно, надо ли делать вообще какую-то защиту либо ограничения.
vagrand
Если так, то вам нужно всего лишь правильно настроить вем сервер, и расставить правильные права на файлы. Т.е. что бы нельзя было запускать у вас на сервере исполняемые файлы и серверные скрипты. И в этом случае отдавать прямые ссылки на файлы лучший вариант + я бы еще порекомендовал если у вас будет функционал замены уже существующих файлов делать каждый раз для файла уникальное имя. Таким образом в дальнейшем вы сможете без труда прикрутить CDN и раздавать файлы оттуда.

_____________
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, фрагменты.
xreprimand
Сервер настроен правильно, с правами тоже все в порядке.
Тогда немного другой вопрос, почему такой mp3 гигант в рунете, как зайцев.нет предлагает вводить капчу при каждом скачивании?
[добавлено возже]
Прямые ссылки как-то интересно генерируются: site/1bb63b13-0257-4b00-9f91-9e13c732bb92/идпесни/название.mp3
vagrand
Потому что они не хотят что бы кто-то написал несложный скрипт и в автоматическом режиме выкачал у них все файлы.

_____________
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, фрагменты.
xreprimand
Цитата (vagrand @ 27.04.2013 - 12:38)
Потому что они не хотят что бы кто-то написал несложный скрипт и в автоматическом режиме выкачал у них все файлы.

Вот и я об этом подумал. Значит, ограничение все-таки нужно и прямые ссылки на файлы отпадают.
vagrand
Если дело обстоит таким образом то действительно необходимо или не давать прямых ссылок или воспользоватся функционалом того же Ngix, который позволяет при запросе некоторых файлов вызывать некий скрипт, который должен вернуть специальный заголовок, что бы файл был отдан запросившему. Этот вариант предпочтительнее, т.к. если отдавать файл через скрипт, то это будет ненужной нагрузкой.

_____________
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, фрагменты.
Быстрый ответ:

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