Pregunta

Tengo una aplicación web C # en .net 2.0 alojada en el servidor A. La aplicación web permite a los usuarios cargar archivos usando <input id="File1" name="filMyFile" type="file" runat="server" /> al servidor A. Todo esto funciona bien.

Ahora se me pide que modifique la aplicación web para permitir que A sirva las páginas para permitir la carga directa al servidor B sin almacenar ninguna información en A ni siquiera temporalmente.

Se me pide que haga esto por razones de seguridad. Estaba pensando en posiblemente usar un iframe y tener el servidor B que solo aloje la parte de carga que envuelve la solicitud con SSL. No estoy completamente seguro de las implicaciones de seguridad de hacer esto, sin embargo, he visto algunos sitios web en los que para sus controles de inicio de sesión SSL solo un iframe que contiene la parte de inicio de sesión y el resto de su sitio no era seguro.

¿Es esto algo correcto? ¿Alguien puede recomendar una mejor manera? Quizás sugiera una arquitectura básica.

¿Fue útil?

Solución

He utilizado el enfoque de iframe, donde el código de iframe con el formulario de carga está alojado en el Servidor B. Funcionó razonablemente bien. También puede alojar la página completa en el Servidor B si lo desea.

Otros consejos

¿Por qué no configura la acción form en la página segura SSL en el servidor B?

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

También puede escribir el archivo directamente en una base de datos SQL. Prefiero este enfoque desde el punto de vista de la seguridad, ya que el archivo nunca vive en el disco duro del servidor. Luego se podría compartir entre los dos servidores.

La otra cara es que es más difícil hacer un escaneo AV en archivos que no se escriben primero en el disco.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top