Cookie unica para cada visita

  • Autor Autor nahu55
  • Fecha de inicio Fecha de inicio
N

nahu55

Alfa
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola gente me ayudan necesito crear una cookie unica para cada visitante de mi web, solo tengo un form que envia una url.
Y tengo este codigo:

if(isset($_COOKIE['galleta'])){
echo "la cookie ya esta creada";
}else{
setcookie("galleta","VALOR_UNICO",time()+3600);

if(isset($_COOKIE['galleta']))
echo "la cookie se ha creado correctamente";
}
 
puedes crear una cadena utilizando dia mes año, minuto y segundo.

$cadena= date("dmYHis");

Dudo mucho que se repita:encouragement:
 
Voy a probar con eso, gracias por responder
 
Es buena idea crear una cookie con la combinación de fechas que ha propuesto el compañero pero tiene un inconveniente.
Si vas a guardar info del cliente que visite tu web y quisieran robar la cookie del mismo para acceder a la info les sería fácil inferir la combinación basada en la fecha.
 
Te recomiendo una cookie id basada en alguna combinación de datos extraídos de las características de la computadora cliente y pasados por algún tipo de ofuscador.
Saludos.
 
Te recomiendo una cookie id basada en alguna combinación de datos extraídos de las características de la computadora cliente y pasados por algún tipo de ofuscador.
Saludos.

Puede ser algo como esto?

$id_unico = md5(time() + mt_rand());
$id_unico = substr($id_unico,0,9);
setcookie("galleta",$id_unico,time()+3600);
 
Puede ser algo como esto?

$id_unico = md5(time() + mt_rand());
$id_unico = substr($id_unico,0,9);
setcookie("galleta",$id_unico,time()+3600);
No recuerdo las llamadas exactas de PHP para establecer cookies pero tiene buena pinta. La utilización del Hash md5 con el tiempo y un número aleatorio es perfecto. No obstante debes pensar en la extracción de la info a posteriori para usarla tú, pues para ello has dejado la galleta. Debe ser reconocible por tu software. Para lo cuál debes ingeniar el algoritmo reverso y un hash es una función sin inversa, lo que dificulta el asunto.
Saludos.
 
Una posible solución es almacenar en un archivo de registro de tu DB la IP, la cookie id generada por el hash y la geolocalización del cliente
para localizarle a posteriori la galleta.
Espero haber ayudado.
 
Por otro lado....si quieres rizar el rizo cifra la info de la cookie para dificultar más el asunto del hackeo. Además se ve más pofesioná 🙂

Te voy complicando cada vez más el código pero creo que es lo adecuado.
 
Por otro lado....si quieres rizar el rizo cifra la info de la cookie para dificultar más el asunto del hackeo. Además se ve más pofesioná 🙂

Te voy complicando cada vez más el código pero creo que es lo adecuado.

Si se va complicando ajaja igual sirve para mejorar mi sitio

- - - Actualizado - - -

Lo que puedes hacer es guardar la ip del usuario.

Saludos.

Intente guarda la ip en una cookie pero quedaba los numeros con % ese signo
 
Yo usaría md5(time());

Enviado desde mi XT1058 mediante Tapatalk
 
Para el asunto de los caracteres "%" prueba escapando los caracteres. Creo recordar que se hacía con el carácter "/".
Saludos.
 
Para el asunto de los caracteres "%" prueba escapando los caracteres. Creo recordar que se hacía con el carácter "/".
Saludos.
\

Enviado desde mi XT1058 mediante Tapatalk
 
Por otro lado....si quieres rizar el rizo cifra la info de la cookie para dificultar más el asunto del hackeo. Además se ve más pofesioná 🙂

Te voy complicando cada vez más el código pero creo que es lo adecuado.

Que tal si dejas de hacer doublepost?

OT: En la mayoría de las webs se utiliza cookies por ip amigo. Creo que es mas efectivo.
 
Que tal si dejas de hacer doublepost?

OT: En la mayoría de las webs se utiliza cookies por ip amigo. Creo que es mas efectivo.
Pues si lo usa la mayoría haz lo que haga la mayoría. Gracias por el consejo del doublepost.
Saludos
 
h_1470230295_3174000_1053a92ef1.webp

PHP:
<?php
setcookie('ip',$_SERVER['REMOTE_ADDR']);
?>
 
Espero que esto te sirva, yo actualmente lo utilizo en zzvideos.top para controlar la primer visita y que obligue al visitante completar el captcha para ver el contenido del sitio.

Te dejo el codigo PHP
PHP:
<?php
// Dieguit0sk8 - Forobeta.com
$ip = $_SERVER[REMOTE_ADDR];
$cookie = $_COOKIE['galleta'];
$enc1 = array("1", "2", "3", "4", "5", "6", "7", "8", "9", "0", ".");
$enc2   = array("r", "t", "y", "u", "i", "o", "p", "l", "k", "j", "h");
$encodeip = str_replace($enc1, $enc2, $ip);
$decodeip = str_replace($enc2, $enc1, $cookie);

if (preg_match('/'.$encodeip.'/i', $cookie) && preg_match('/'.$decodeip.'/i', $ip)) {
echo "la cookie ya esta creada"; 
} else {
setcookie('galleta', ''.$encodeip.'', time() + 84400);
}

?>

Saludos
 
La ip del usuario pues hombre.
 
Atrás
Arriba