base64_encode

WRInaute impliqué
bonjour,

J'utlise la fonction PHP « base64_encode », classique pour des urls dans un cas précis, dans une version sécurisée.

Ces Urls sont un peu longues, toutefois j'ai découvert ce nouveau code qui permet de gagner un bon 1/3 sur la
longueur d'une Url encodée en base64

encodage/décodage
$encoded = strtr(base64_encode(addslashes(gzcompress(serialize($string),9))), '+/=', '-_,');
$string= unserialize(gzuncompress(stripslashes(base64_decode(strtr($encoded, '-_,', '+/=')))));

En dehors du fait que cela peut interressé, je voudrais savoir si ce code modifié utilise beaucoup de ressources CPU
supplémentaire.

merci d'avance

ludo
 
WRInaute discret
Salut.
Je vois pas trop ce que tu as a y gagner...
Je vois pas non plus en quoi une url encodee en base 64 est "securise".
Si tu utilises ce genre d url c est de toute facon pas fait pour que l utilisateur s'en souvienne, donc qu elle soit courte ou longue a mon avis ca change rien.

Aussi j ai essaye ce bout de code avec l url de ce post en parametre et le retour est plus long qu un base64 classique (rajoute un "echo" devant) :) ...
 
WRInaute impliqué
poulpe a dit:
Salut.
Je vois pas trop ce que tu as a y gagner...
1/ Je vois pas non plus en quoi une url encodee en base 64 est "securise".

function url_encrypt($url)
{
return substr(md5(ENCRYPTION_KEY . $url),1) . base64_encode($url);
}

ENCRYPTION_KEY etant une constante qui sert de mot de passe. Cela garanti qu’un étranger ne pourra pas utiliser ton redirecteur, voilà comment on sécurise une url en base 64


2/ Aussi j ai essaye ce bout de code avec l url de ce post en parametre et le retour est plus long qu un base64 classique (rajoute un "echo" devant) :) ...

Pour être viable ton test doit se faire sure une url de 200 caractère et +, c''est tout l'intérêt

Cela dit, ma question reste entière et si tu as une formule d'encodage courte, je suis preneur
 
WRInaute impliqué
poulpe a dit:
salut.
Peut etre tu peux te baser sur un code d url shortener ?

Tu peux t inspirer de ce thread http://stackoverflow.com/questions/959957/php-short-hash en particulier le lien a la reponse numero 4.

Pourquoi crains tu que quelqu'un utilise ton redirect ?

C’est une faille de sécu béante, par exemple, ton site pourra être utilisé comme redirecteur par n'importe
quel joyeux lurron qui maitrise la prog, imagine sur certains liens

merci pour le lien
 
WRInaute discret
je ne sais pas exactement ce que tu fais mais si tes redirections proviennent d une table et que tu veux cacher l url, tu peux faire une requete sur ton hash, ou id ou ce que tu veux et si ca n existe pas dans ta table ton script redirige sur ta home sinon il envoie a l url que tu as retrouve dans ta table.
 
WRInaute impliqué
poulpe a dit:
je ne sais pas exactement ce que tu fais mais si tes redirections proviennent d une table et que tu veux cacher l url, tu peux faire une requete sur ton hash, ou id ou ce que tu veux et si ca n existe pas dans ta table ton script redirige sur ta home sinon il envoie a l url que tu as retrouve dans ta table.

C'est une solution, en fait je n'ai pas de table mais la solution est au point 2 de ton lien, http://stackoverflow.com/questions/959957/php-short-hash et j'ai encore
une autre idée derrière, très bon lien pr mon cas !
 
Haut