Pergunta

Eu tenho uma web aplicativo C # no .NET 2.0 que está sendo hospedado no servidor A. A aplicação web permite aos usuários fazer upload de arquivos usando <input id="File1" name="filMyFile" type="file" runat="server" /> ao servidor A. Isso tudo funciona muito bem.

Agora estou sendo solicitado a modificar o aplicativo web para permitir que páginas sendo servido por um para permitir o upload diretamente para o servidor B sem armazenar qualquer informação sobre um nem mesmo temporariamente.

Estou sendo solicitado a fazer isso por razões de segurança. Eu estava pensando sobre a possibilidade de usar um iframe e ter servidor B única sediar a porção de upload envolvendo o pedido com SSL. Eu não sou inteiramente certo das implicações de se fazer isso de segurança, no entanto tenho visto alguns sites em que para os seus controles de login que SSL somente um iframe que contém a parte de login e o resto do seu site estava inseguro.

Isso é uma coisa OK para fazer? Alguém pode recomendar uma maneira melhor? Talvez sugerir uma arquitetura básica.

Foi útil?

Solução

Eu tenho usado a abordagem iframe, onde o código iframe com o formulário de upload está hospedado no servidor B. Isso funcionou razoavelmente bem. Você também pode hospedar a página inteira no servidor B se quiser.

Outras dicas

Por que você não apenas definir a ação form à página garantiu SSL no servidor B?

<form method="POST" action="https://serverb/uploadmanager.ashx" ...>

Você também pode escrever o arquivo diretamente para uma db SQL. Eu prefiro esta abordagem do ponto de vista de segurança como o arquivo nunca vive no disco rígido do servidor. Ele poderia, então, ser compartilhada entre os dois servidores.

O outro lado é que é mais difícil de fazer a digitalização AV em arquivos que não são escritos primeiro a disco.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top