Foros del Web » Programando para Internet » PHP »

Logue automático a la hora de acceder a una web

Estas en el tema de Logue automático a la hora de acceder a una web en el foro de PHP en Foros del Web. Buenas, En la empresa tenemos una aplicación PHP que con un botón se accede a una web y hace el logueo automáticamente. Eso supongo que ...
  #1 (permalink)  
Antiguo 29/05/2009, 05:53
Avatar de cluster28  
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 3 meses
Puntos: 32
Logue automático a la hora de acceder a una web

Buenas,

En la empresa tenemos una aplicación PHP que con un botón se accede a una web y hace el logueo automáticamente. Eso supongo que será mandando en las cabeceras los datos de acceso (en la URL no aparece nada).

Me gutaría saber cómo se hace esto, por lo menos una orientación y si funcionaría en todas las webs PHP o ASP.

Gracias.
  #2 (permalink)  
Antiguo 29/05/2009, 06:32
Usuario no validado
 
Fecha de Ingreso: octubre-2008
Ubicación: BRUSELAS
Mensajes: 211
Antigüedad: 15 años, 5 meses
Puntos: 3
Respuesta: Logue automático a la hora de acceder a una web

puede que tengais una cookie en la que esta puesto el nombre de la persona..
  #3 (permalink)  
Antiguo 29/05/2009, 17:09
Avatar de oso96_2000  
Fecha de Ingreso: junio-2002
Ubicación: Distrito Federal
Mensajes: 558
Antigüedad: 21 años, 10 meses
Puntos: 35
Respuesta: Logue automático a la hora de acceder a una web

Puede que lo haga con Curl, asi puede simular un login a algun sitio y sacar información.

Saludos
__________________
Sin Ideas
  #4 (permalink)  
Antiguo 01/06/2009, 02:08
Avatar de cluster28  
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 3 meses
Puntos: 32
Respuesta: Logue automático a la hora de acceder a una web

He estado mirando lo de curl y puede que lo haga así. Si no me equivoco la historia puede ser que abra una sesión con curl y llame de nuevo a la web y envíe el id de sesion en la cabecera, no?

Se debería hacer así o no?
  #5 (permalink)  
Antiguo 01/06/2009, 07:49
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: Logue automático a la hora de acceder a una web

= se me ocurre algo loco si es una misma makina y esta tiene una ip fija
el login se pudiera hacer por medio de la IP ojala tengas acceso a el code para que puedas verificar suerte !!
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D
  #6 (permalink)  
Antiguo 01/06/2009, 08:47
 
Fecha de Ingreso: mayo-2009
Ubicación: La Habana
Mensajes: 92
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Logue automático a la hora de acceder a una web

En mi universidad tenemos un sitio que esta echo con asp y te loguea automaticamente cuando estas trabajando por el dominio de windows...cuando entras por linux no te deja hacer esto
  #7 (permalink)  
Antiguo 01/06/2009, 08:51
Avatar de cluster28  
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 3 meses
Puntos: 32
Respuesta: Logue automático a la hora de acceder a una web

Cita:
Iniciado por harvestmoon Ver Mensaje
= se me ocurre algo loco si es una misma makina y esta tiene una ip fija
el login se pudiera hacer por medio de la IP ojala tengas acceso a el code para que puedas verificar suerte !!
No entiendo tu idea. Lo del code no va a aser posible, la verdad.
  #8 (permalink)  
Antiguo 01/06/2009, 09:14
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: Logue automático a la hora de acceder a una web

si ejemplo que la BD tenga un campo ip
y si en el load por ejemplo
compara
$ip=$REMOTE_ADDR;
if($ip<>$ipquetieneacceso){
no hay login
}

saludines!
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D
  #9 (permalink)  
Antiguo 01/06/2009, 12:09
Avatar de cluster28  
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 3 meses
Puntos: 32
Respuesta: Logue automático a la hora de acceder a una web

Cita:
Iniciado por harvestmoon Ver Mensaje
si ejemplo que la BD tenga un campo ip
y si en el load por ejemplo
compara
$ip=$REMOTE_ADDR;
if($ip<>$ipquetieneacceso){
no hay login
}

saludines!
Vale vale, ya te pillo. La idea que tengo es entrar en una web (la que sea, no tiene porqué ser tuya) con el login y contraseña enviados en la cabeceras. Estilo si rellenas el usuario y la contraseña en el formulario de login y se pasan los datos por POST, pero sin rellenarlo claro.
  #10 (permalink)  
Antiguo 01/06/2009, 12:13
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: Logue automático a la hora de acceder a una web

claro lo mas obvio es q esten dentro del mismo script donde esta en famoso boton abrir
saludones!!
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D
  #11 (permalink)  
Antiguo 01/06/2009, 13:42
Avatar de oso96_2000  
Fecha de Ingreso: junio-2002
Ubicación: Distrito Federal
Mensajes: 558
Antigüedad: 21 años, 10 meses
Puntos: 35
Respuesta: Logue automático a la hora de acceder a una web

Cita:
Iniciado por cluster28 Ver Mensaje
He estado mirando lo de curl y puede que lo haga así. Si no me equivoco la historia puede ser que abra una sesión con curl y llame de nuevo a la web y envíe el id de sesion en la cabecera, no?

Se debería hacer así o no?
Algo asi, lo que haria curl sería guardar las cookies (donde puede ir el ID de sesion) en un archivo y usar este para realizar el pedido de las paginas donde se necesite estar logueado.
__________________
Sin Ideas
  #12 (permalink)  
Antiguo 02/06/2009, 03:17
Avatar de cluster28  
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 3 meses
Puntos: 32
Respuesta: Logue automático a la hora de acceder a una web

Pongo una prueba que he hecho y no funciona, es una ejemplo que he cogido de http://curl.haxx.se/libcurl/php/examples/cookiejar.html. Es para acceder a un plesk:

Código PHP:
<?php

$ch 
curl_init();
curl_setopt($chCURLOPT_COOKIEJAR"C:\plesk");
curl_setopt($chCURLOPT_URL,"https://www.dominio.com:8443/login_up.php3");
curl_setopt($chCURLOPT_POST1);
curl_setopt($chCURLOPT_POSTFIELDS"passwd=password&login_locale=default&login_name=dominio.com");

ob_start();      // prevent any output
curl_exec ($ch); // execute the curl command
ob_end_clean();  // stop preventing output

curl_close ($ch);
unset(
$ch);

$ch curl_init();
curl_setopt($chCURLOPT_RETURNTRANSFER,1);
curl_setopt($chCURLOPT_COOKIEFILE"C:\plesk");
curl_setopt($chCURLOPT_URL,"https://www.dominio.com:8443");

$buf2 curl_exec ($ch);

curl_close ($ch);
echo 
$buf2;

echo 
"<PRE>".htmlentities($buf2);
?>
Uso EasyPHP y me sale una página en blanco como resultado.
  #13 (permalink)  
Antiguo 22/06/2009, 10:05
Avatar de cluster28  
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 3 meses
Puntos: 32
Respuesta: Logue automático a la hora de acceder a una web

Resulta que se puede hacer tal cual con HTML, pero no me sale.

He revisado el código de la aplicación de la empresa y veo que tiene unos <input> hidden dónde están el user y el pass. En el action del FORM se pone la url de validación de la web a la queremos acceder y supuéstamente debería hacerlo. Pero no lo hace. Mañana, cuando pueda, pongo el código, ya que me lo he dejado en el trabajo.

Hace falta algo más para que esto funcione o así ya debería hacerlo?
  #14 (permalink)  
Antiguo 23/06/2009, 02:48
Avatar de cluster28  
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 3 meses
Puntos: 32
Respuesta: Logue automático a la hora de acceder a una web

Código HTML:
<td>
<input class="texto1" type="submit" value="Acceso a MD"/>//botón para acceder
<table border="0" width="100%">
//El form llama a esta url para validar
<form action="https://www.dominio.com/login.php" method="post" target="_blank" name="form"/>
//Esto sirve para hacer luego una redirección
<input type="hidden" value="https://www.dominio.com/detail.php?domain=domain.com" name="redir"/>
//Estos campos son datos necesarios para la validación
<input type="hidden" value="32789" name="seid"/>
<input type="hidden" value="user" name="login"/>
<input type="hidden" value="password" name="pass"/>
//Esto ya es el comienzo de otro formulario
<form action="operaciones.php" method="post" name="form_x"/>
<tbody>
</tbody>
</table>
</td> 
No entiendo por qué el botón está fuera del formulario y funciona. Copiando y pegando el código en mi web no funciona.¿?
  #15 (permalink)  
Antiguo 23/06/2009, 08:31
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Logue automático a la hora de acceder a una web

Ok, vas a tener que encerrar el codigo de form

Código HTML:
//El form llama a esta url para validar
<form action="https://www.dominio.com/login.php" method="post" target="_blank" name="form" >
//Esto sirve para hacer luego una redirección
<input type="hidden" value="https://www.dominio.com/detail.php?domain=domain.com" name="redir"/>
//Estos campos son datos necesarios para la validación
<input type="hidden" value="32789" name="seid"/>
<input type="hidden" value="user" name="login"/>
<input type="hidden" value="password" name="pass"/>
<input type="submit" value="submit" />
</form> 
Me dejas asber
  #16 (permalink)  
Antiguo 23/06/2009, 23:49
Avatar de cluster28  
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 3 meses
Puntos: 32
Respuesta: Logue automático a la hora de acceder a una web

Cita:
Iniciado por abimaelrc Ver Mensaje
Ok, vas a tener que encerrar el codigo de form

Código HTML:
//El form llama a esta url para validar
<form action="https://www.dominio.com/login.php" method="post" target="_blank" name="form" >
//Esto sirve para hacer luego una redirección
<input type="hidden" value="https://www.dominio.com/detail.php?domain=domain.com" name="redir"/>
//Estos campos son datos necesarios para la validación
<input type="hidden" value="32789" name="seid"/>
<input type="hidden" value="user" name="login"/>
<input type="hidden" value="password" name="pass"/>
<input type="submit" value="submit" />
</form> 
Me dejas asber
Gracias. pero ese no es el problema. He comparado las cabeceras clicando en el botón que he creado y el botón de la propia aplicación y son idénticas salvo que me falta una línea que es la de Referer. Lo que no se es cómo añadirla a las cabeceras que envío yo.
  #17 (permalink)  
Antiguo 24/06/2009, 06:43
Avatar de cluster28  
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 3 meses
Puntos: 32
Respuesta: Logue automático a la hora de acceder a una web

Ya funciona. No encuentro la explicación pero funciona.

- si abrimos el fichero HTML directamente con el navegador, al pulsar en el botón del formulario no añade en las cabeceras el "Referer: http://www.dominio.com/xxxxxxxxx"

- pero si abrimos la web con apache, osea poniendo "localhost" en el navegador, al pulsar el botón sí lo añade y hace el logueo....

Hay otras webs por ejemplo que creo que, con este parámetro, verifican de dónde vienen y si no viene del propio dominio me da que no se puede acceder, supongo que comprobándolo con $_SERVER['HTTP_REFERER'].

En PHP soy bastante nuevo por lo que no conocía esto.

Por cierto, el primer código html que puse estaba mal. Lo copié de Firebug y lo muestra diferente.

Gracias a todos.
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 16:19.