Ver Mensaje Individual
  #11 (permalink)  
Antiguo 06/01/2007, 19:27
Michoacano
 
Fecha de Ingreso: mayo-2005
Ubicación: Patzcuaro
Mensajes: 106
Antigüedad: 19 años
Puntos: 2
Re: como generar una id unica

Cita:
Iniciado por nicolaspar Ver Mensaje
Uno muy efectivo es enviar un segundo parámetro que no es menos que el ID + un hash pasados por md5 (que no tiene vuelta).
Como el hash lo tenes vos, cuando levantas el ID lo comparas con esta segunda variable, concatenandola con el hash y pasándolo por md5. Ej:
Config:
$hash = "algo28762_{%";

Pagina 1:
Código PHP:
<a href="...?id=<?=$rs["id"];?>&i=<?=md5($rs["id"].$hash);?>">Detalle</a>
En este punto, te pueden escribir el id pero no que coincida con un i valido.

Pagina 2, al inicio:
Código PHP:
if( $_GET["i"] != md5($_GET["id"].$hash) ){
  echo 
"quieren hacer trampita??"; exit;

O simplemente pasar solo i, y cuando hagas la consulta haces usas md5 desde mysql, en vez de where id='$id' haces esto:
Código PHP:
$r mysql_query("Select * from tabla where MD5(concat(id,'".$hash."')) = '$i'"); 
Y sigo diciéndote, usar int, bigint, o lo que fuere es lo mejor, para eso estan hecho, y con estas formas podes lograr lo que estas buscando sin complicarte casi nada.
Yo tengo una tabla donde tengo un id numérico, y también guardo un determinado titulo.

Creo que si uno los dos campos obtengo el mismo resultado. por lo que en la url podrías poner.

/123/Titulo de algo

Asi evitas que te recorran la bd, ya que necesariamente se ocupan dos valores de la bd para mostrar la pagina.
__________________
_