Feed RSS con autentificacion

Iniciado por Diabliyo, 28 Abril 2010, 18:53 PM

0 Miembros y 1 Visitante están viendo este tema.

Diabliyo

Buen día.

Actualmente en mi sitio genero el RSS mediante mi propio script en PHP, el problema que me ha surgido es que he estandarizado un Feed especial para cada usuario, a partir de un solo script, en donde la idea es que el usuario acceda al Feed y pueda visualizar información personalizada y privada.

Comúnmente el Feed de mi sitio es: http://misitio.com/rss.php (todos tiene acceso a el), pero el Feed que estableceré para cada usuario particular seria: http://misitio.com/rss.php?id=ID_DEL_USUARIO, y quiero que ANTES de mostrarse la información, el usuario pueda autentificarse !.

Ya estuve haciendo pruebas mediante la creación de una session, pero, es ineficiente si por ejemplo intentas sincronizar tu movil (gadget), ya que el proceso de autentificacion por session requiere que usuario bien acceda al sitio o rellene el formulario típico (usuario y clave).

Creo que el proceso de autentificacion sin session PHP es posible, ya que en mi movil (android) el lector de feed del navegador Dolphin me permite establecer USUARIO y CLAVE antes de sincronizar un feed.

Mi idea vaga, pero sin probar.
Otra idea fue, implementar un *.htaccess, pero en este caso tendrua que asignarle un folder independiente y quede así: http://misitio.com/private/rss.php?id=ID_USUARIO. Pero no he realizado pruebas, igual y funciona.

Espero sus comentarios, Saludos !

Diabliyo

Ya lo resolvi :D... No fue necesario usar htaccess... Todo esta en el tema de Autentificacion HTTP mediante PHP.

Aqui mi code, provecho:

Código (php) [Seleccionar]
<?php
function autentificacion_http()
{
$msg"Feed Restringuido a Usuarios Registrados";
header'HTTP/1,1 401 Unauthorized' );
//header( 'WWW-Authenticate: Digest realm="'. $msg. '",qop="auth",nonce="'. uniqid(). '",opaque="'. md5($msg). '"' );
header'WWW-Authenticate: Basic realm="'$msg'"' );

die('<h1>'TITULO_WEB'</h1><h2>http://'$_SERVER['HTTP_HOST']. '</h2><p>Registrate en el Sitio para Obtener tu Feed Personalizado.');
# echo '<h1>TEMA WEB - NOMBRE PAGINA</h1><h2>http://'. $_SERVER['HTTP_HOST']. '</h2><p>Registrate en el Sitio para Obtener tu Feed Personalizado.';
}


if( !isset(
$_SERVER['PHP_AUTH_USER']) )
autentificacion_http();
else
{
$data= array( "username"=>$_SERVER['PHP_AUTH_USER'], "password"=>$_SERVER['PHP_AUTH_PW'] ); # consultamos valores y armamos array
$consconsultar_con"USUARIOS""NICK='"proteger_cadena($data["username"]). "' && PASSWORD='"proteger_cadena($data["password"]). "'" ); # consultamos

if( mysql_num_rows($cons) )
secure_rss(); # cargamos el RSS/XML
else
autentificacion_http();
}
?>