Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/07/2009, 20:12
KekoGrama
 
Fecha de Ingreso: septiembre-2006
Mensajes: 127
Antigüedad: 17 años, 7 meses
Puntos: 5
¿Cómo cifro una URL?

Código PHP:
<?php

url
::$P $_GET[p];
class 
url
{
    public static 
$P;
    public static 
$getVars=array();
    public static 
$fileRequired;
    public static function 
getPage()
    {
        
$args func_get_args();
        
$nom md5($args[0].rand(1,999));
        
setcookie("p:{$nom}",implode("|",$args));
        
self::$fileRequired $args[0];
        return 
$nom;
    }
    public static function 
pageIn()
    {
        
$nom self::$P;
        if(isset(
$_COOKIE["p:{$nom}"]))
        {
            
$Data $_COOKIE["p:{$nom}"];
            foreach(
explode("|",$Data) as $Id => $Value)
            {
                
$exp explode(":",$Value);
                if(
count($exp)==2)
                    
self::$getVars[$exp[0]] = $exp[1];
            }
            
        }
        else
        {
            
main::Error(1002);
        }
    }
}
unset(
$_GET);
url::pageIn();
$_GET url::$getVars;
?>
Tengo este código para cifrar URL... y transformar los datos como si fuésen por GET.

Funciona de la siguiente forma:
- Uso el siguiente código:
Código PHP:
<?php url::getPage("potocagao.php","idAlumno:10","idCitacion:5"); ?>
Lo que hace es encriptar en MD5 una cadena, que serían al archivo que quiero abrir, y el resto los datos que se usarán como si fuésen enviados por GET. Luego guardar eso en una cookie.
-
Código PHP:
<?php url::pageIn(); ?>
Se encarga de revisar el MD5 enviado por $_GET[p], para luego buscar la cookie que lleva el nombre en md5, y saber que datos necesito utilizar.
- Unseteo la variable $_GET , porq logicamente a través del código se estableceran los supuestos valores de $_GET.

Bueno, el código funciona perfecto... pero uno de los puntos negativos es que cae en ser inseguro... porque a pesar de estar cifrado en md5, es cuestión de que el usuario tenga un programa para ver las cookies del navegador y va a saber que datos contiene el asunto... Podría usar sesiones. Pero el punto no es ese.

El tema va en que si uso Cookies y/o Sesiones dependerá todo del navegador del usuario y además rellenaria el pc con coookies. Por ejemplo, si el usuario revisa 100 paginas del sitio, habrá creado el script 100 cookies...

Había pensado en crear un archivo en el servidor que tenga el nombre en md5, pero rellenaria mi servidor con cientos de archivos...

También habia pensado en MySQL... pero saturaria la base de datos, imaginense unos 1000 usuarios al dia, que cada uno visite 10 paginas... llenaria en un dia la base de datos con 10.000 registros... y al mes 300.000... demasiado.

¿ALGUIEN TIENE OTRA SOLUCIÓN?