O cliente envia pelo site para outro servidor?

2

Eu preciso definir algo no site da nossa empresa para que os clientes possam fazer login e fazer upload de arquivos de arte (somos uma empresa de impressão). O que eu gostaria de ver é algo que após o login no cliente seria direcionado para uma página que mostra outros arquivos que eles carregaram e arquivos que temos disponíveis para download.

A parte complicada é que o site é hospedado comercialmente (powweb.com), mas os arquivos de arte precisam acabar no nosso servidor ftp, que está dentro do nosso firewall (com acesso externo). O site é estritamente estático html com nenhum sistema de gerenciamento de conteúdo em uso; muito básico. Qual é a melhor / mais fácil maneira de conseguir isso sem que o processo fique muito caro? Alguém sabe de algum pacote de código aberto ou comercial que permitiria que isso acontecesse?

Provavelmente, é desnecessário dizer que não sou um programador da Web; Eu sei o suficiente para ser perigoso, mas estou disposto a cavar & aprenda o que precisa ser feito. Estávamos planejando reformular o site em algum momento este ano, e se usar um gerenciador de conteúdo ajudaria nisso, estou totalmente aberto a isso.

Obrigado!

    
por Dave 29.05.2009 / 23:43

5 respostas

2

Etapa 1 Configure com segurança o servidor da Web de hospedagem para ter um diretório "temporário", que armazenará os arquivos enviados dos clientes até que você possa recuperá-los.

Etapa 2 Escreva uma tarefa cron no servidor FTP interno que vai para o servidor da Web e recupera as mensagens baixadas.

Suponho que você tenha um espaço limitado no servidor da Web, portanto, eu recomendaria excluí-los depois de verificar se você fez o download dos arquivos com êxito. Se você tiver acesso ao shell no servidor da web, poderá usar os hashes md5 para verificar a exatidão. Se não, você pode apenas ter que ir com tamanho.

Minha empresa usa uma técnica como essa. Temos um processo que é executado a cada 5 minutos todos os dias, recuperando arquivos, verificando-os e excluindo-os da origem. Isso funciona muito bem para nós.

    
por 30.05.2009 / 15:07
1

Depende da rapidez com que você precisa dos arquivos em seu servidor interno.

Sync-Solution

Se não precisar ser em tempo real, permita que as pessoas façam o upload e o download do seu servidor de hospedagem e sincronize a cada n minutos. Existem várias soluções para a parte de sincronização, mas eu recomendo o rsync.

Solução em tempo real

Se precisar ser em tempo real, você pode executar um servidor da Web em seu host interno que apenas fornece a parte de upload. Pode viver em um subdomínio como upload.mycompany.com. Se você fizer isso corretamente, os usuários não perceberão que ele está hospedado em um servidor diferente. A execução de um servidor da Web disponível publicamente não é para os fracos de coração, e levar um tempo considerável para manutenção.

A parte de upload / download

Escrever o código para fazer upload de um arquivo para um servidor da Web é algo óbvio para todos que têm envolvido na programação. Fazer isso de maneira segura, confiável, escalável e eficiente não é. Mesmo que esteja implícito na sua pergunta que você está disposto a aprender tudo o que é necessário você deve considerar terceirizar pelo menos essa parte de sua tarefa.

    
por 30.05.2009 / 15:12
0

Eu configuraria uma pasta segura no host da web que é um sistema de arquivos distribuídos que você está hospedando em sua rede interna e que seu host da Web conecta ao host da Web conectado pelo servidor de arquivos.

Com sua configuração atual, você poderá usar sua configuração existente. Existem maneiras de montar o ftp como uma unidade ou pasta em uma variedade de sistemas operacionais. Se o seu host não pode configurar uma pasta que é realmente uma conexão ao seu servidor ftp como uma pasta, então é possível configurar uma pasta / drive no seu servidor ftp que se conecta ao ftp do seu host.

Trabalhando com apenas ftp, há alguns problemas potenciais de segurança e velocidade de leitura. Contanto que haja criptografia suficiente, controle de acesso nas pastas e filtros de conteúdo para arquivos maliciosos, você deve estar bem.

Este método terá atrasos se o webhost estiver se conectando ao ftp para colocar arquivos, a menos que você inclua algum tipo de script que coloque uma cópia localmente no host e uma cópia na pasta compartilhada.

    
por 30.05.2009 / 00:17
0

Não é exatamente o que procura, mas você pode considerar usar JungleDisk conectado a Amazon S3 . O Amazon S3 é um sistema de armazenamento de arquivos baseado em nuvem, e o Jungle Disk é um programa Windows / Mac que você usa para acessar os arquivos. O Amazon S3 cobra pela transferência e pelo volume de armazenamento, e o Jungle Disk é uma taxa fixa de US $ 20,00. O preço do S3 é realmente razoável, francamente barato.

Você pode instalar o Jungle Disk como um serviço em uma máquina dentro da rede do seu escritório e sincronizar automaticamente o conteúdo com o seu bucket do S3. Quando os clientes fazem o upload para o S3, você busca esses arquivos automaticamente em seu servidor local e vice-versa - quando você coloca arquivos nessa estrutura de pasta sincronizada, eles também vão para o S3.

Você pode configurar um depósito (semelhante a uma pasta) por cliente, e cada cliente pode acessar apenas seus próprios arquivos em seu bloco. Não há programação envolvida.

    
por 30.05.2009 / 14:54
0

Sua melhor aposta é usar o seu servidor ftp. Esta não é a solução mais amigável, mas coloque um FAQ e um tutorial mostrando às pessoas como compactar seus arquivos. Cada sistema operacional sob o sol tem um cliente FTP embutido. Existem até alguns bons clientes de FTP de código aberto à la Filezilla.

Todas as outras soluções viáveis exigem que sua empresa gaste dinheiro. Com o seu host atual, você estará limitado nos tamanhos de arquivo que você pode aceitar. Pesquise em seus fóruns por tamanho de arquivo e / ou tempo limite de execução.

    
por 31.05.2009 / 20:16

Tags