Ver Mensaje Individual
  #8 (permalink)  
Antiguo 12/01/2010, 14:13
Avatar de neodani
neodani
 
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Respuesta: Hacer login con CURL

Muchas gracias por tu tiempo

Intenté la prueba contra la web que tenia el script de login nuevamente, y si bien es cierto que consigue coger el ID de la sesión puede coger tb las sesiones que crea el script de login??

Código PHP:
Ver original
  1. $_SESSION['usuario_id']=$usuario_datos['id'];
  2. $_SESSION['usuario_login']=$usuario_datos['usuario'];
  3. $_SESSION['usuario_password']=$usuario_datos['pass'];
  4. $_SESSION['usuario_ip']=$ip;
  5. $_SESSION['nivel_acceso']=$usuario_datos['nivel_acceso'];

Probé con
$pattern = "/.usuario_id.*?/i";
sin éxito, no me pilla nada


Código PHP:
Ver original
  1. $postvalue['user'] = 'test';
  2. $postvalue['password'] = '123456';
  3. $postvalue['submit'] = 'Iniciar Sesión';
  4.  
  5. //pantalla de login
  6. $ch = curl_init('http://panelme.com/includes/login.php');
  7. curl_setopt($ch,    CURLOPT_AUTOREFERER,        true);
  8. curl_setopt($ch,    CURLOPT_COOKIESESSION,      true);
  9. curl_setopt($ch,    CURLOPT_FAILONERROR,        false);
  10. curl_setopt($ch,    CURLOPT_FOLLOWLOCATION,     false);
  11. curl_setopt($ch,    CURLOPT_HEADER,             true);
  12. curl_setopt($ch,    CURLOPT_RETURNTRANSFER,     true);
  13. curl_setopt($ch, CURLOPT_POSTFIELDS, $postvalue);
  14. $result = curl_exec($ch);
  15.  
  16. $pattern = "/Set-Cookie: (PHPSESSID=.*?;)/i";
  17. preg_match_all($pattern, $result, $m);
  18. print_r($m);
  19.  
  20. // Array ( [0] => Array ( [0] => PHPSESSID=fec4c66a7ad4f595063c6e6c0a2ce350; ) )
  21.  
  22. $ch = curl_init('http://http://panelme.com/index.php');
  23. curl_setopt($ch,    CURLOPT_COOKIE,             $m[0][0]);
  24. curl_setopt($ch,    CURLOPT_AUTOREFERER,        true);
  25. curl_setopt($ch,    CURLOPT_COOKIESESSION,      true);
  26. curl_setopt($ch,    CURLOPT_FAILONERROR,        false);
  27. curl_setopt($ch,    CURLOPT_FOLLOWLOCATION,     false);
  28. curl_setopt($ch,    CURLOPT_HEADER,             false);
  29. curl_setopt($ch,    CURLOPT_RETURNTRANSFER,     true);
  30. $result = curl_exec($ch);
  31.  
  32.  
  33. echo "<pre>";
  34. print_r($result); // vacio
  35. echo "</pre>";

Gracias nuevamente