Foros del Web » Programando para Internet » PHP »

autenticar en http usando alguna funcion que pase usario y passsword como parametro

Estas en el tema de autenticar en http usando alguna funcion que pase usario y passsword como parametro en el foro de PHP en Foros del Web. Hola a todos, el problema es el del titulo... queiro acceder a una pagina a la que hay que autenticarse con http, quiero hacer una ...
  #1 (permalink)  
Antiguo 29/05/2005, 17:26
 
Fecha de Ingreso: septiembre-2004
Ubicación: Montevideo
Mensajes: 346
Antigüedad: 13 años, 2 meses
Puntos: 0
autenticar en http usando alguna funcion que pase usario y passsword como parametro

Hola a todos,

el problema es el del titulo... queiro acceder a una pagina a la que hay que autenticarse con http, quiero hacer una pagina en php que con la funcion header o alguna otra se autentique sola... sin que yo tenga que esctibir la clave y el usuario.

osea, si pongo:

header(Location:pagina.html); me abre la pagina y tengo q escribir los datos,

buscoa algo como:

header(location:pagina.html, user, pass);

Gracias a todos,

Liber
__________________
Liber
  #2 (permalink)  
Antiguo 29/05/2005, 20:20
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
¿?... nada claro lo qe quieres hacer... pero basandome en "lo que buscas" te diré que para pasar parámetros por URL debes hacer algo como:
Código PHP:
header("Locaton: pagina.php?user=valor&pass=valor"); 
y recivir con $_GET...

Ahora bien... NADA recomendable pases datos tan importantes como lo son el nombre de usuario y el password por URL... Adivinando lo que pretendes hacer (un simple loguin) te diré que uses variables de sesión... así los valores que guardes los irás arrastrando cada que los necesites.

Visita las FAQ para ello, vienen muy bien expliocado el tema de sesiones... incluso trae un ejercicio de loguin sino mal recuerdo.

www.php.net/session

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 29/05/2005, 20:25
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
jam1138:
liberfg está hablando de autenticación HTTP. Puedes leer en el manual al respecto:
http://www.php.net/features.http-auth

Saludos
  #4 (permalink)  
Antiguo 29/05/2005, 20:31
 
Fecha de Ingreso: septiembre-2004
Ubicación: Montevideo
Mensajes: 346
Antigüedad: 13 años, 2 meses
Puntos: 0
exacto, me refiero a autenticacion en http, gracias a ambos. Voy a revisar lo q me pasaste jpinedo.

Saludos.
__________________
Liber
  #5 (permalink)  
Antiguo 29/05/2005, 20:38
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Oooohhh!!! , algo como la FAQ?: http://www.forosdelweb.com/showthrea...967#post243967

Pido perdón en ese caso... Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #6 (permalink)  
Antiguo 30/05/2005, 11:46
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Tendrías que redireccionar pasando en el URL dicho usuario y password (con lo cual pór el URL viajará si no usas SSL podría ser capturado .. además que no sé si quedará rastros en cachés de los navegadores .. revisalo por qué este método puede no ser seguro).

El URL para tu header("Location: .....") o link en general debería tener este formato:



No es necesario que indiques todos los parámetros .. por ejemplo el "port" (si no lo indicas es el 80 por defecto .. El resto es lo de costumbre .. Fijate donde y como se usa "usuario:contraseña".

Un saludo,
  #7 (permalink)  
Antiguo 30/05/2005, 12:51
 
Fecha de Ingreso: junio-2004
Mensajes: 51
Antigüedad: 13 años, 5 meses
Puntos: 0
Creo , que no es posible

Gracias a las modificaciones y estandares de Microsoft me parece que lo que intentas hacer no es posible. Justamente por un tema de seguridad.
Pero repito , creo, yo intente hacer algo parecido y esa fue la respuesta que obtube de la gente que he consultado.
Lo mejor es arreglarse con sesiones.

Saludos y suerte !!!
  #8 (permalink)  
Antiguo 30/05/2005, 13:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Pero repito , creo, yo intente hacer algo parecido y esa fue la respuesta que obtube de la gente que he consultado.
Tal vez no consultastes a las personas adecuadas xDDD.

Bueno .. te puedo confirmar que la solución que expuse ... funciona, pero más seguro ya que hablamos de autentificación script.php -> página autentificado HTTP sería usar: cURL (www.php.net/curl) en conexión por sockets .. y si todo está bajo SSL sería lo ideal (https://)

Las sesiones es una solución .. pero si el sitio está bajo tu control y en el mismo dominio .. no para "autentificarte" con otros sistemas que tal vez no puedes ni modificar su código ...

Un saludo,
  #9 (permalink)  
Antiguo 30/05/2005, 13:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Gracias a las modificaciones y estandares de Microsoft me parece que lo que intentas hacer no es posible.
Podrías aclarar ese punto?

La autentificación HTTP es parte de dicho protocolo (no lo "dicta" M$) .. bajo el standard CGI (Commun Gateway Interface) .. navegadores (browsers) que usar e implementan el protocolo HTTP tienes de vários fabricantes.

Un saludo,
  #10 (permalink)  
Antiguo 30/05/2005, 14:46
 
Fecha de Ingreso: septiembre-2004
Ubicación: Montevideo
Mensajes: 346
Antigüedad: 13 años, 2 meses
Puntos: 0
Hola,

veo que se armo una linda discusion, en el buen sentido de la palabra. Lo que yo quiero hacer puntualmente, es que otras personas puedan acceder a las estadisticas de mi sitio, a las cuales accedo desde el panel de control de mi sitio, previa autenticacion http, mi idea es poner en una pagina le link y q el usuario y password no sean vistos por la persona uqe accede al sitio. Sino que el aprete el link y ya salte a la pagina de las estadisticas autenticado y no sea el quien tiene q poner el password.

Creo que lo que cluster propone me va a servir... peor ahora me quedo pensando en la seguridad...

Saludos a todos,

Liber
__________________
Liber
  #11 (permalink)  
Antiguo 30/05/2005, 14:50
 
Fecha de Ingreso: septiembre-2004
Ubicación: Montevideo
Mensajes: 346
Antigüedad: 13 años, 2 meses
Puntos: 0
Lamentablemente Cluster, he copiado tal cual tu codigo para el header, y puesto mis datos, sin embargo no me funciono... te parece q es un error mio? o puede haber otro motivo? Saludos.
__________________
Liber
  #12 (permalink)  
Antiguo 30/05/2005, 16:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
mm Para descartar problemas en tu código habría que verlo ...

Sobre otros problemas que puedas tener para usar lo que te comenté .. entre ellos podría ser algún otro tipo de nivel de seguridad que restringa desde que "clientes" (host) se pueda acceder a esa aplicación.

Intenta hacerlo con un simple link tipo:

Código PHP:
<a href="http://usuario:[email protected]/resto de URL que corresponda ....">ir a ver estadísticas</a
Por cierto .. el puerto en tu caso puede ser importante .. no sé si haces un acceso SSL a tu panel de control (cPanel?) .. usa el mismo link que veras desde tu panel de control a tu aplicación de estadísticas y añade en el tu usuario/password según ese formato.

Un saludo,
  #13 (permalink)  
Antiguo 30/05/2005, 22:21
 
Fecha de Ingreso: septiembre-2004
Ubicación: Montevideo
Mensajes: 346
Antigüedad: 13 años, 2 meses
Puntos: 0
Tengo le mismo problema con el link,

mi codigo es:

http://user:[email protected]:2082/a...io.com&lang=es

parece estar todo bine, ¿no?

Saludos,

Liber
__________________
Liber
  #14 (permalink)  
Antiguo 31/05/2005, 08:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Parece que cPanel usa codificación base64 para la contraseña/usuario .. Pero en ese caso .. no sé como quedaría el link directo (si es que se puede, como para hacer una simple "redirección" .. habría que probar con scokets tal vez directos ..).

Un saludo,
  #15 (permalink)  
Antiguo 31/05/2005, 13:26
 
Fecha de Ingreso: septiembre-2004
Ubicación: Montevideo
Mensajes: 346
Antigüedad: 13 años, 2 meses
Puntos: 0
tal vez si busco la forma de codificar en esa basa mi nombre de usuario y contraseña? o estoy en un horrible error?

Saludos.
__________________
Liber
  #16 (permalink)  
Antiguo 31/05/2005, 15:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por liberfg
tal vez si busco la forma de codificar en esa basa mi nombre de usuario y contraseña? o estoy en un horrible error?

Saludos.
Si, en principio con PHP podrías codificar en "base64" usando:

base64_encode() ...

Pero, lo que no sé a que se aplica: si sólo a la contraseña .. también al nombre? .. todo junto? .. Eso es lo que no conozco con certeza.

Un saludo,
  #17 (permalink)  
Antiguo 01/06/2005, 00:01
 
Fecha de Ingreso: septiembre-2004
Ubicación: Montevideo
Mensajes: 346
Antigüedad: 13 años, 2 meses
Puntos: 0
Hola Cluster,

se pone entretenido, proble lo siguiente:

$u=base64_encode('user');
$p=base64_encode('pass');
$uyp=base64_encode('user:pass');
header("Location: http://".$u.":".$p."@dominio.com:2082/awstats.pl?config=dominio.com&lang=es");
header("Location: http://".$uyp."@dominio.com:2082/awstats.pl?config=dominio.com&lang=es");
header("Location: http://user:".$p."@dominio.com:2082/awstats.pl?config=dominio.com&lang=es");
header("Location: http://".$u.":[email protected]:2082/awstats.pl?config=dominio.com&lang=es");

claro que cuando ponia un header comentaba los otros, sin embargo de ninguna forma pude acceder a la pagina...

¿Te quedan ideas sobre esto?

Saludos,

Liber
__________________
Liber
  #18 (permalink)  
Antiguo 01/06/2005, 13:05
 
Fecha de Ingreso: septiembre-2004
Ubicación: Montevideo
Mensajes: 346
Antigüedad: 13 años, 2 meses
Puntos: 0
Hola a Todos, encontre lo que bucaba:

<?php

$user = 'usuario';//Usuario de acceso al panel de control
$pass = 'contraseña';//Contraseña de acceso al panel de control
$domain = 'dominio.com';//No incluyas 'http://' ni 'www'

/*
NO NEED TO TOUCH ANYTHING BELOW HERE
*/

//retrieves the file, either .pl or .png
function getFile($fileQuery){
global $user, $pass, $domain;
return file_get_contents("http://$user:[email protected]$domain:2082/".$fileQuery,'r');
}

//it's a .png file...
if(strpos($_SERVER['QUERY_STRING'],'.png')!==false) {
$fileQuery = $_SERVER['QUERY_STRING'];
}
//probably first time to access page...
elseif(empty($_SERVER['QUERY_STRING'])){
$fileQuery = "awstats.pl?config=$domain";
}
//otherwise, all other accesses
else {
$fileQuery = 'awstats.pl?'.$_SERVER['QUERY_STRING'];
}

//now get the file
$file = getFile($fileQuery);

//check again to see if it was a .png file
//if it's not, replace the links
if(strpos($_SERVER['QUERY_STRING'],'.png')===false) {
$file = str_replace('awstats.pl', basename($_SERVER['PHP_SELF']), $file);
$file = str_replace('="/images','="'.basename($_SERVER['PHP_SELF']).'?images',$file);
}
//if it is a png, output appropriate header
else {
header("Content-type: image/png");
}

//output the file
echo $file;
?>

Estaba posteado en otro foro, lo encontre usando google.

Saludos,

Liber
__________________
Liber
  #19 (permalink)  
Antiguo 02/06/2005, 08:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ok, parece ser que entonces cPanel no usa contraseñas encriptadas? ..

Faltaría un ejemplo de uso .. sobre todo para ver que se ha de poner en tu "query string" (por qué supongo que esto vendrá de un formulario donde se piden esos datos? ..

También se vé que toma sólo las imagenes de las estadísticas generadas (gráficos) .. Es decir .. no es realmente una "autentificación" directa para entrar a esa aplicación .. sino que se autentifica para tomar tal o cual archivo (en ese caso imagenes/gráficos generados).

Un saludo,
  #20 (permalink)  
Antiguo 07/06/2005, 12:24
 
Fecha de Ingreso: septiembre-2004
Ubicación: Montevideo
Mensajes: 346
Antigüedad: 13 años, 2 meses
Puntos: 0
Cita:
Iniciado por Cluster
Faltaría un ejemplo de uso .. sobre todo para ver que se ha de poner en tu "query string" (por qué supongo que esto vendrá de un formulario donde se piden esos datos? ..
Cluster, lo unico que hay que hacer es un vinculo a una pagina que tenga este script, y donde van las variables

Código PHP:
$user 'usuario';//Usuario de acceso al panel de control 
$pass 'contraseña';//Contraseña de acceso al panel de control 
$domain 'dominio.com';//No incluyas 'http://' ni 'www' 
tenes q poner los datos del sitio al que le queres ver las estadísticas.

Saludos.
__________________
Liber
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 15:02.