Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/12/2009, 15:08
Avatar de benji_
benji_
 
Fecha de Ingreso: marzo-2009
Mensajes: 19
Antigüedad: 15 años, 2 meses
Puntos: 0
Pregunta Upload Seguro :: Problema

Buenas, hago este posteo para ver si pueden solucionar este problema y a la vez, que se haga una especie de debate, más que nada en relación a la seguridad en PHP y la Web en general (no tenida en cuenta por muchos).

El siguiente problema surgió de el desarrollo para un cliente, en el cual se llego a esta estructura de trabajo:

Contabamos con dos servidores diferentes:

Servidor A: Este era el servidor de nuestra empresa. En este alojamos algunos desarrollos propios.

Servidor B: Este sería el servidor del cliente, donde tiene su página y sus datos.

Ahora bien, el concepto es el siguiente:

El cliente se conecta al Servidor A (el nuestro), logueandose de forma segura, creando una session y teniendo acceso a lugares restringidos. Es decir, un sistema de logueo comun y corriente, con toda la seguridad posible (inclusive SSL).

Una vez que el cliente se encuentra logueado a nuestra página, este tendrá la posibilidad de subir un archivo a SU SERVIDOR (o sea el Servidor B). No olvidemos que esta logueado, pero al Servidor A.

Para hacer este "crossite upload" utilizamos el SWFUpload,una librería en flash que entre otras cosas nos permite realizar esta tarea.

En el Servidor B (el del cliente) se encuentra un archivo que llamaremos "upload.php". Este es el encargado de procesar el archivo subido y guardarlo en la carpeta que corresponda (el famoso "action" de los formularios html :-p)



PROBLEMA
-----------------------------------------------------------------------------------------------------

He aquí el problema en cuestión.

¿Como harían para que unicamente nuestro cliente pueda subir un archivo al Servidor B (utilizando el "upload.php" que esta en el) cuando este logueado nuestro Servidor A?


Es decir.. ¿Como hacer para que el "upload.php" solamente funcione y guarde el archivo que le esta enviando desde el SWFUpload nuestro cliente (unicamente nuestro cliente), mientras está logueado en el Servidor A.




SOLUCIONES FALLIDAS
----------------------------------------------------------------------------------------------------

Enviar un usuario y una contraseña junto con el archivo no sería seguro, ya que con un sniffer pueden ser obtenidos estos datos facilmente.

Tampoco funciona el SSL, ya que el Servidor A es el que tiene la conexion segura, pero el Servidor B no. (y no se contempla como solución el ponerle SSL al Servidor B :-p )



¿Como hacer entonces?



En fin (que largo se hizo), espero que puedan ayudarme a encontrar la mejor solución o por lo menos alguna opinion sobre el tema.

Saludos.

Última edición por benji_; 28/12/2009 a las 15:23