Utilizar dos servidores en aplicacion y envio de archivos entre ellos

Hola como estan, hace algun tiempo tnego una duda acerca de un
desarrollo
que quiero pasar de php a Rails

verán, tengo una aplicacion en php donde los usuarios pueden subir
imagenes
, estas imagenes son procesadas por gd donde se realizan copias de la
imagen
, resizes etc…

uno de mis problemas es que tengo mas de 10GB en imagenes, que
corresponden
a las imagenes de mis usuarios, esta aplicacion corre en Dreamhost, y
funciona bastante bien.

por otro lado , quiero (tengo que) hacer correr la aplicacion Rails en
un
VPS . Me gustaría saber si existe alguna posibilidad de poder guardar
las
imagenes desde el vps al dreamhost cuando el usuario las suba desde la
web.
¿que me podrian recomendar? es posible mandar la imagen por post desde
la
app Rails y recibirlas en el shared host de dreamhost para manipularlas
con
php?

Saludos

Cuando envías algo por POST lo puedes hacer a un archivo local o a uno
remoto, así que puedes enviar la petición POST a un formulario situado
en otro servidor.
Otra cosa es las restricciones de seguridad que tengas en el servidor
web. Es posible que no acepte cabeceras HTTP con peticiones POST desde
una ip que no sea localhost.

Haz una prueba y lo sabrás :slight_smile:

El 17/12/2007, a las 6:32, Miguel M. escribió:

Hola Emili , gracias por tu respuesta.

He hecho las pruebas y efectivamente se puede :D, logré subir una imagen
desde un formulairo html y procesarla con php cuando esta llega al
dreamhost, aunque tuve que desactivar todas los codigos de restriccion
de
acceso por session y otros sistemas de seguridad que realice con
javascript
y php, pero aparentmente el server me da acceso.

¿es recomendable esto? no se ve del todo muy seguro, pienso que se
podria
poner alguna restriccion en el PHP que recibe, de solo permitir los
accesos
desde el servidor A.

lo que si, esta es la única solución y la mas rapida en cuanto a costo y
tiempo.

¿en el caso de que el usuario quiera eliminar esa imagen, es posible
hacer
una llamada desde el servidor A para que elimine archivos del servidor
B?
por ejemplo si el usuario decide eliminar el registro correpondiente a
la
imagen.

Muchas gracias por tu ayuda Emili, creo que me ahorraste mucho tiempo de
investigación, stress y dolores de cabeza

Saludos

El 17/12/2007, a las 13:39, Miguel M. escribió:

Hola Emili , gracias por tu respuesta.
De nada

He hecho las pruebas y efectivamente se puede :D, logré subir una
imagen desde un formulairo html y procesarla con php cuando esta
llega al dreamhost, aunque tuve que desactivar todas los codigos de
restriccion de acceso por session y otros sistemas de seguridad que
realice con javascript y php, pero aparentmente el server me da
acceso.
Asegurate de no permitir el acceso a todo el mundo

¿es recomendable esto? no se ve del todo muy seguro, pienso que se
podria poner alguna restriccion en el PHP que recibe, de solo
permitir los accesos desde el servidor A.
Puede restringir por IP, aunque si es un hosting compartido alguien
que tenga un dominio en el mismo servidor puede hacerte la puñeta (es
difícil, lo sé, pero puede pasar)

lo que si, esta es la única solución y la mas rapida en cuanto a
costo y tiempo.

¿en el caso de que el usuario quiera eliminar esa imagen, es posible
hacer una llamada desde el servidor A para que elimine archivos del
servidor B? por ejemplo si el usuario decide eliminar el registro
correpondiente a la imagen.
De la misma manera, aunque igual tendrás que permitir el acceso a
MySQL desde otro servidor que no sea localhost (por defecto no permite
conexiones entrantes por seguirdad) para poder listar registros y
luego enviar por POST el id de lo que quieres borrar.

Muchas gracias por tu ayuda Emili, creo que me ahorraste mucho
tiempo de investigación, stress y dolores de cabeza
Para eso estamos. En cualquier caso asegurate bien de permitir el
acceso a la base de datos y a enviar por POST solo a tu servidor, ya
que sinó podrías tener muchos dolores de cabeza.

Hola Emili, gracias nuevamente por la ayuda.

pero mi idea es tener la base de datos en el VPS, donde estará la app
Rails
y manipular los archivos en el shared host, en este caso no tendré
problemas
por acceder a una base de datos remota (aunque no es malo estar al tanto
de
lo que comentas). mi pregunta era mas por como poder eliminar los
archivos
guardados en el shared host cuando se elimine el registro
correspondiente de
la BD del VPS .

supongo que sería algo como :

def eliminar_foto

Images.find(params[:id]).destroy
if Images.destroy
eliminar_imagen_remota(Images.find(params[:id]).nombre_foto)
end
redirect_to :action => ‘list’
end

def eliminar_imagen_remota(imagen)
##… aqui pongo un codigo que ejecute …
http://www.shared-host.com/eliminar_foto.php?img=imagen
##…
end

y en el php de mi servidor compartido en
http://www.shared-host.com/eliminar_foto.php?img=imagen

if {//pregunto si la ip del servidor que trae el dato es 145.34.66.23

unlink(“mis_imagenes/”.$_GET[‘img’])
unlink(“mis_imagenes_thumbs/”.$_GET[‘img’])
unlink(“mis_imagenes_medium/”.$_GET[‘img’])

else

echo “lo sentimos, pero Ud trata de acceder desde otro servidor”
}

me imagino que podria ser algo asi , ¿que opinas?

Saludos

Hola Michel, al margen de la solución que estás elaborando con Emili,
sólo sugerirte que uses Amazon S3 para almacenar las imágenes. El
plugin attachment_fu te lo permite como opción de almacenamiento.

No lo he probado pero parece bastante barato:

Saludos,
Jaime

2007/12/17, Miguel M. [email protected]:

Exacto Miguel, sería como tu dices, le envías el id de la imagen al
script remoto en php y la borras.

El 17/12/2007, a las 16:11, Miguel M. escribió:

Hola Jaime, he escuchado que el servicio de amazon S3 esta muy bueno,
pero
creo que por ahora sobrepasa mi presupuesto.

y la solucion que tengo está a la mano, ya que tengo 10+ gb en imagenes
en
el dreamhost y migrarlo a otro server me puede llevar mucho tiempo. por
otro
lado dreamhost esta muy bien para el data storage , y a un muy buen
precio.

Gracias !

Saludos

És muy barato. Yo no dudo para nada al usar este servicio para mis
clientes.

Un saludo,

Francesc

On Dec 17, 2007, at 4:45 PM, Jaime I. wrote:

la web.
Miguel Michelson Martinez

Jaime I.
http://jaimeiniesta.com - http://railes.net


Ror-es mailing list
[email protected]
http://lists.simplelogica.net/mailman/listinfo/ror-es


name. Francesc E. i Martí
voice. +34 678.681.603