Foros del Web » Programando para Internet » PHP »

Encriptar url

Estas en el tema de Encriptar url en el foro de PHP en Foros del Web. Hola a todos. Lo que quiero es enviar datos pero que estos no seas "legibles" por los usuarios. Por ejemplo yo tengo una direccion que ...
  #1 (permalink)  
Antiguo 06/07/2011, 09:04
Avatar de Jota_sk  
Fecha de Ingreso: octubre-2008
Mensajes: 188
Antigüedad: 15 años, 6 meses
Puntos: 0
Encriptar url

Hola a todos. Lo que quiero es enviar datos pero que estos no seas "legibles" por los usuarios. Por ejemplo yo tengo una direccion que es esta "index.php?id=371&cat=blog&rango=23" y lo que quiero es algo tipo asi "index.php?auth=rwehjk3ewd343elkwj3kl"

Había pensado en que url del código de la web poner code64_encode() y dentro todos los parametros get y luego en las paginas que reciben estos datos utilizar code64_decode($_GET['auth']) para guardar estos datos get en una varas variables. Esta forma seria correcta? O me causaria problemas? o No es ninguna forma de segura de prevenir "ocultar" la informacion enviada por GET?

Un saludo
  #2 (permalink)  
Antiguo 06/07/2011, 09:14
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Encriptar url

Hola que tal te dejo estas funciones que utilizo

Código PHP:
Ver original
  1. function encrypt($string, $key) {
  2.    $result = '';
  3.    for($i=0; $i<strlen($string); $i++) {
  4.       $char = substr($string, $i, 1);
  5.       $keychar = substr($key, ($i % strlen($key))-1, 1);
  6.       $char = chr(ord($char)+ord($keychar));
  7.       $result.=$char;
  8.    }
  9.    return base64_encode($result);
  10. }
  11.  
  12. function decrypt($string, $key) {
  13.    $result = '';
  14.    $string = base64_decode($string);
  15.    for($i=0; $i<strlen($string); $i++) {
  16.       $char = substr($string, $i, 1);
  17.       $keychar = substr($key, ($i % strlen($key))-1, 1);
  18.       $char = chr(ord($char)-ord($keychar));
  19.       $result.=$char;
  20.    }
  21.    return $result;
  22. }
  23.  
  24. //ejemplo de usarlas
  25.  
  26. $key='configuracion';
  27. $dato='juan';
  28.  
  29. $encyptacion=encrypt($dato,$key);
  30. $qutarencryptacion=decrypt($encyptacion,$key);

La variable $key la puedes configurar como quieras, solo debes de tomar en cuenta que debe de ser la misma tanto para encryptar como para desencryptar

Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #3 (permalink)  
Antiguo 06/07/2011, 09:16
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: Encriptar url

No te compliques cambiado los valores que pasas por parámetros. Para eso usa mod_rewrite. No es php eh!
Googlea, verás que hay mucha información al respecto.

De esta forma se obtiene algo como este foro donde el foro php es /f18/ y la verdad es que se usa muchísimo.
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #4 (permalink)  
Antiguo 06/07/2011, 09:31
Avatar de Jota_sk  
Fecha de Ingreso: octubre-2008
Mensajes: 188
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Encriptar url

Ya sabia la forma del .htacess, pero no busco eso, lo que quiero es ocultar toda la información que envió. Gracias skiper0125 es justamente lo que estaba buscando la verdad. Pero una duda, ahora para guardar los resultados de get, como hago? porque ahora $_GET['id'] ya no me servirá.
  #5 (permalink)  
Antiguo 06/07/2011, 09:39
Avatar de rikardoz  
Fecha de Ingreso: abril-2011
Ubicación: En mi casa
Mensajes: 165
Antigüedad: 13 años
Puntos: 46
Respuesta: Encriptar url

algo asi:
encripta tus datos de tal formato:
digamos tienes variables como:
nombre:apellido:edad:otro
encriptalo y luego
$data = base64_decode("datos-encriptados");
list($nombre,$apellido,$edad,$otro) = explode(":", $data);
y listo lo tienes como variables de nuevo
__________________
Agregadecer no cuesta nada O SI?

Etiquetas: encriptar, url, variables
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 13:47.