Foros del Web » Programando para Internet » PHP »

Como se podría...????

Estas en el tema de Como se podría...???? en el foro de PHP en Foros del Web. Antes que nada gracias desde ya!!! Hola, a ver si alguien me da alguna orientación de como podría realizar lo siguiente: Necesito abrir una puerta ...
  #1 (permalink)  
Antiguo 18/01/2005, 19:19
 
Fecha de Ingreso: noviembre-2002
Mensajes: 571
Antigüedad: 21 años, 5 meses
Puntos: 2
Como se podría...????

Antes que nada gracias desde ya!!!

Hola, a ver si alguien me da alguna orientación de como podría realizar lo siguiente:

Necesito abrir una puerta de entrada de acceso vía HTTP para que un proxy pueda hacer una consulta para valider unos datos introducidos en un formulario de una web que esta cacheada en un proxy pero la base de datos donde realiza la consulta estaría en mi hosting.

Debo crear un punto de acceso en el que solo una ip pueda acceder y realizar la consulta, el punto de acceso debe poder recibir datos mediante POST (campos del formulario) además de una variable adicional fijada a authUser, una vez realizada la consulta la unica información que retornará será Content-Type: text/plain OK en caso de exito o Content-Type: text/plain ERR si da error.

En fin cualquier ayuda me vendrá muy bien.

Un saludo.
  #2 (permalink)  
Antiguo 19/01/2005, 10:56
 
Fecha de Ingreso: noviembre-2002
Mensajes: 571
Antigüedad: 21 años, 5 meses
Puntos: 2
Alguna idea..???

Un saludo.
  #3 (permalink)  
Antiguo 19/01/2005, 11:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Deberías describir lo que ya has probado (código?) ..

En principio la "puerta" la abririas desde PHP con sockets y la implementación del protocolo HTTP que corresponda. Tal vez esto ya lo has hecho .. pero como lo especificas no está de más "preguntarlo".

Un saludo,
  #4 (permalink)  
Antiguo 20/01/2005, 11:02
 
Fecha de Ingreso: noviembre-2002
Mensajes: 571
Antigüedad: 21 años, 5 meses
Puntos: 2
Hola Cluster, la verdad es no he escrito nada de código..., lo que busco es la idea de como podría hacerlo..., en fin si fueras un poco más explicito te estaría muy agradecido.

Un saludo.
  #5 (permalink)  
Antiguo 20/01/2005, 13:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Podrías empezar por la función:
http://www.php.net/fsockopen

Y buscarte algún manual sobre el protocolo HTTP. Por qué eso de authUse también lo define el protocolo HTTP.

En su defecto puedes probar también las librerías cURL (www.php.net/curl)

Un saludo,
  #6 (permalink)  
Antiguo 22/01/2005, 07:35
 
Fecha de Ingreso: noviembre-2002
Mensajes: 571
Antigüedad: 21 años, 5 meses
Puntos: 2
Ok, gracias Cluster, a ver que saco.

Un saludo.
  #7 (permalink)  
Antiguo 23/01/2005, 12:06
 
Fecha de Ingreso: noviembre-2002
Mensajes: 571
Antigüedad: 21 años, 5 meses
Puntos: 2
Hola Cluster, he estado mirando la función fsockopen y la información que he encontrado sobre los sockets, he visto que hay mucha información para conectarse mediante la función fsockopen a servidores que tienen abierto un socket, pero yo lo que necesito es al revés, es abrir un socket en mi servidor para que una ip determinada pueda hacer una consulta en una table mysql.

¿Sabes alguna función que me permita abrir un socket en mi server?

Un saludo.
  #8 (permalink)  
Antiguo 23/01/2005, 14:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En ese caso .. PHP no creo que sea el mejor lenguaje para implementar eso. Date cuenta que PHP funciona: "tu le pides una pàgina y el te la dà" y ahì muere el proceso .. Es cierto que PHP puede funcionar en modo "CLI" (command Line Interface) pero puestos a eso .. lo mejor serìa algo hecho en C++ u otro lenguaje de ese estilo (no algo "interpretado" como es PHP).

Ahora .. no acabo de comprender el problema .. o a ver si es esto lo que deberìas hacer:

Tu servidor HTTP y servidor de tu BD estàn bajo X red .. para salir/entrar al exterior pasan por un proxy y firewall .. ese firewall se supone que tiene abierto el puerto 80 por lo menos para ver a tu servidor HTTP .. ¿es así?.

Si tu requieres hacer vìa "web" una consulta a tu BD y que esta entregue sus resultados en la "pagina HTML" .. tan sòlo conecta tus scripts PHP a la IP "Local" de tu servidor de BD:

mysql_connect("ip_servidor_mysql","usuario","passw ord");

con eso .. la conexiòn es local de tu servidor HTTP a tu servidor de Mysql (por el puerto 3306).

Bajo la misma filosofìa tienes los "web services" (SOAP ..etc) que bàsicamente lo que hacen es entregar el resultado de tu "consulta" a tu BD en un formato standard para compartir datos: XML (o algùn derivado) .. así lo puedes trabajar en el "otro lado" si es que esa consulta la va hacer otra aplicaciòn y va a trabajar esos datos. Los "web services" tienes "servidores" en PHP y clientes en PHP .. ademàs que o existen ya o puedes implementar en otros lenguajes (se trata de "parsear" ese XML que te devolviò).


Un saludo,

Última edición por Cluster; 23/01/2005 a las 14:56
  #9 (permalink)  
Antiguo 24/01/2005, 06:07
 
Fecha de Ingreso: noviembre-2002
Mensajes: 571
Antigüedad: 21 años, 5 meses
Puntos: 2
Gracias por la respuesta Cluster, aunque al final creo que voy a utilizar un sistema en el que no necesito dar permiso a ninguna máquina, simplemente creare un script que relize una consulta a la db, una vez realizada la consulta, devolerá OK o ERROR en texto plano, y a través del protocolo http la máquina desde la que procede la consulta sabrá si se ha autenticado correctamente o no, me han asegurado que debe funcionar, tu que opinas al respecto???

Un saludo.
  #10 (permalink)  
Antiguo 24/01/2005, 09:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues no conozco al detalle el protocolo HTTP .. tendrás que estudiarlo y ver la sección de autentificación HTTP que existe. por ahí sabras que "cabeceras" por header() o por sockets directo tendrás que enviar para que tu "cliente" (un navegador?) sepa que tendrá que hacer ..

Por si alguien quiere continuar el tema .. ya veo que iniciastes uno nuevo:
http://www.forosdelweb.com/f18/formulario-desde-web-otra-web-264421/

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:18.