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

Пример скрипта на http://golodnyi.ru

Технические требования
PHP 5.3, MySQL, .htaccess, chmod
Автор: Я
Условия продажи: Отдаю 3 копии, владельцы могут перепродавать скрипт.
Цена: 1000 руб.
Дополнительная информация: скрипт написан на CodeIgniter с применением Smarty
Контакты ICQ: 292496, E-mail: ochen@golodnyi.ru
Golodnyi
Исходники проекта http://golodnyi.ru/13 вариант не для ленивых) может быть найдете ошибки/дыры)
vagrand
Golodnyi
Какие типы файлов можно загружать и как именно проверяете что был загружен допустимый?

_____________
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, фрагменты.
Golodnyi
Цитата (vagrand @ 25.10.2013 - 10:56)
Golodnyi
Какие типы файлов можно загружать и как именно проверяете что был загружен допустимый?

проверка по расширению файлов, запрещены php и близкие к нему форматы, но даже если пользователь зальл бы php Файл, ему бы это ничего не дало, он бы не смог его запустить
vagrand
Golodnyi
Цитата
но даже если пользователь зальл бы php Файл, ему бы это ничего не дало, он бы не смог его запустить


На чем основана эта уверенность?

_____________
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, фрагменты.
Игорь_Vasinsky
файл был задержан и переименован в *.html tongue.gif

_____________
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
Цитата (vagrand @ 31.10.2013 - 09:12)
Golodnyi
Цитата
но даже если пользователь зальл бы php Файл, ему бы это ничего не дало, он бы не смог его запустить


На чем основана эта уверенность?

потому что файлы переименовываются и угадать его имя невозможно
vagrand
Guest
Цитата
потому что файлы переименовываются и угадать его имя невозможно


Это не эффективная защита, кто-то на хостинге забудет отключить индексацию каталогов и вуаля. И потом каким образом тогда происходит его отдача?

_____________
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, фрагменты.
123456
Думаю было бы не плохо чтоб система перед загрузкой файла помещала его в архив, и задавала пароль на сам архив.
Таким образом место на сервере будет заниматься в разы меньше, да и это наверно самый безопасный вариант.
Guest
Цитата (vagrand @ 2.11.2013 - 12:33)
Guest
Цитата
потому что файлы переименовываются и угадать его имя невозможно


Это не эффективная защита, кто-то на хостинге забудет отключить индексацию каталогов и вуаля. И потом каким образом тогда происходит его отдача?

Генерируется хэш, файл переименовывается в hash.format, этот хэш записывается в бд, когда пользователь запрашивает файл, смотрится хэш и ищется файл с таким хэшем.
Guest
Цитата (123456 @ 2.11.2013 - 15:09)
Думаю было бы не плохо чтоб система перед загрузкой файла помещала его в архив, и задавала пароль на сам архив.
Таким образом место на сервере будет заниматься в разы меньше, да и это наверно самый безопасный вариант.

Ну тут будет ряд проблем, например не все хостинги имею либы работы с архивами + еще нагрузка на сервер возрастет и скорость работы упадет, хотя в плане экономии места, это конечно резонно для файлообменника
123456
Цитата
не все хостинги имею либы работы с архивами

Современные хостинги без поддерживают данные функции

Цитата
нагрузка на сервер возрастет и скорость работы упадет


ну тут смотря с какой стороны смотреть...

загрузка файлов будет длиться НЕМНОГО дольше, но вот скачка!! Время скачки упадет, т.к. вес файла будет изменен в меньшую сторону...


Так вот, лучше подождет один пользователь(загрузчик файла) чем те, которые будут скачивать( их то может быть и 1000000, а загрузчик 1)

vagrand
Guest
Цитата
Генерируется хэш, файл переименовывается в hash.format, этот хэш записывается в бд, когда пользователь запрашивает файл, смотрится хэш и ищется файл с таким хэшем.


Ну и что? Ищется, а что потом? Формируется ссылка на этот файл или он раздается через скрипт? Если первый вариант, то вот вам и путь к файлу и ничего узнавать не нужно, а если второй вариант, то успехов с отдачей больших файлов. Грузить сервак будет жестко.

123456
Цитата
Время скачки упадет, т.к. вес файла будет изменен в меньшую сторону...


Справедливо только для файлов в текстовом формате, а их-то как раз на файлообмениках меньшинство. Для картинок и медиа файлов архивация не уменьшит размер, а нагрузит сервак будь здоров. И потом, такой способ защиты все равно что делать операцию на мозге через задний проход.

_____________
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
Цитата (123456 @ 2.11.2013 - 15:45)
Цитата
не все хостинги имею либы работы с архивами

Современные хостинги без поддерживают данные функции

Цитата
нагрузка на сервер возрастет и скорость работы упадет


ну тут смотря с какой стороны смотреть...

загрузка файлов будет длиться НЕМНОГО дольше, но вот скачка!! Время скачки упадет, т.к. вес файла будет изменен в меньшую сторону...


Так вот, лучше подождет один пользователь(загрузчик файла) чем те, которые будут скачивать( их то может быть и 1000000, а загрузчик 1)

как скорость возрастет? Файл загружают, его пакуют, файл запрашивают, его распаковывают и выдают, ты же не архив выдавать будешь...поэтому медленнее для всех будет
Guest
Цитата (vagrand @ 2.11.2013 - 15:55)
Guest
Цитата
Генерируется хэш, файл переименовывается в hash.format, этот хэш записывается в бд, когда пользователь запрашивает файл, смотрится хэш и ищется файл с таким хэшем.


Ну и что? Ищется, а что потом? Формируется ссылка на этот файл или он раздается через скрипт? Если первый вариант, то вот вам и путь к файлу и ничего узнавать не нужно, а если второй вариант, то успехов с отдачей больших файлов. Грузить сервак будет жестко.

123456
Цитата
Время скачки упадет, т.к. вес файла будет изменен в меньшую сторону...


Справедливо только для файлов в текстовом формате, а их-то как раз на файлообмениках меньшинство. Для картинок и медиа файлов архивация не уменьшит размер, а нагрузит сервак будь здоров. И потом, такой способ защиты все равно что делать операцию на мозге через задний проход.

выдается не ссылкой, а идут заголовки с бинарными данными, имя файла никак не палится
Быстрый ответ:

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