Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   загрузка программ пользователей (https://javascript.ru/forum/server/33841-zagruzka-programm-polzovatelejj.html)

l-liava-l 10.12.2012 18:27

загрузка программ пользователей
 
Доброго времени суток!
Делаю интернет магазин на opencart 1.5.3.
Пытаюсь написать скрипт, с помощью которого зарегистрированные пользователи могли закачать в каталог товаров свою программу.

Примером может послужить гугл плей, в который разработчики заливают свой софт.

Но у меня не получается понять логику действий.

Зарегистрировался => окошко с формой для выкадывания софта (описание всякое и архив) => залили, а вот куда их на сервере девать?

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

Или при регистрации пользователя создавать папку с его именем и кидать туда? а потом модератор проверит и выложит в каталог.(более реально)

А в гугл плее как эта функция реализована если кто знает?

DjDiablo 10.12.2012 18:39

Самый логичный подход файловая система.

вместо папки с именем пользователя можно хранить все файлы в одной папке с именем номерФайла.zp или каким нибудь другим сгенерированным именем. А связь файла и пользователя можно установить в таблице в бд.

На самом деле файлам нужно в любом случае менять хотябы расширение, иначе я могу залить .php скрипт и выполнить его на твоём серваке


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

Serg_pnz 10.12.2012 19:49

Цитата:

На самом деле файлам нужно в любом случае менять хотябы расширение, иначе я могу залить .php скрипт и выполнить его на твоём серваке
через htaccess можно прибить выполнение php скриптов.
Правда я бы всё равно обязал пользователей архивировать исполняемые файлы и проверял mime-типы и расширения.


Часовой пояс GMT +3, время: 00:45.