Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/11/2005, 20:44
zaqpz
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 18 años, 7 meses
Puntos: 2
Pregunta Como generar un SID (session id) manualmente

Hola chic@s. En esta oportunidad estoy haciendo "un manejador" de sesiones propio, osea que: a mano genero el SID, lo mando a la cookie del cliente, y las variables que el cliente genera las guardo en una base de datos.
Hago esto así porque estoy desarrollando una aplicación que debe ser medianamente segura y como no puedo pagar un dedicado, la alojaré en un servidor compartido, y no quiero que nadie pueda acceder a mis variables de sesión.

Mi problema es el siguiente: para generar el session id necesito una cadena que sea única y que por ningún motivo se vaya a repetir en otro usuario que esté conectado al mismo tiempo. Entonces pensé concatenar así: "ip()-time()-5 numeros aleatorios". La función que lo hace es:
Código PHP:
function ip() // Devuelve la ip del visitante aunque se oculte mediante proxy o 0 si no la encuentra
{
    if(!empty(
$_SERVER['HTTP_X_FORWARDER_FOR'])) $ip=$_SERVER['HTTP_X_FORWARDER_FOR'];
    elseif(!empty(
$_SERVER['HTTP_VIA'])) $ip=$_SERVER['HTTP_VIA'];
    elseif(!empty(
$_SERVER['REMOTE_ADDR'])) $ip=$_SERVER['REMOTE_ADDR'];
    else 
$ip=0;
    return 
$ip;
}

$prueba=ip();
$prueba.=time();
$prueba.=rand(0,9999).rand(0,9999).rand(0,9999).rand(0,9999).rand(0,9999); 
Ahora mis dudas son:
-¿Creen que esta forma de generar el SID sea segura?
-¿Alguno tiene idea como genera el SID PHP?

Agradeceré infinitamente todo tipo de respuesta/sugerencia/opinión.

Gracias de antemano. Saludos!

Última edición por zaqpz; 22/11/2005 a las 23:27