Encoder une url

Nouveau WRInaute
Bonjour,

Je souhaite encoder une url pour éviter que les paramètres de cette url soient visibles dans la barre d'adresse du navigateur des internautes et j'utilise pour cela la fonction PHP « base64_encode ».

Mon url non encodé est du style : monsite.com/index.php?rub=ma_rubrique&a=valeur1&b=valeur2&c=valeur3

Un fois que l'url est encodée ça donne cela : monsite.com/index.php?rub=ma_rubrique&id_url=FudCZwPTAuODImYz1EJnB1PUlGJmRldj0xMy43NjAzJnN5bT1BVFMmdHZhPTE5LjYw

La question que je mose pose est la suivante : est-ce quelqu'un pourrait décoder mon url en utilisant cette fonction PHP « base64_decode($id_url) » ?

Autrement dit, lorsqu'il y a eu encodage à l'aide de la fonction « base64_encode » est-ce qu'il faut se trouver impérativement sur le serveur qui a encodé l'url ou si n'importe qui, se trouvant n'importe ou peut décoder cette url en utlisant la focntion PHP « base64_decode($id_url) » ?

Deuxième question : est-il préférable pour les robots et crawlers des moteurs de recherche que je fasse terminer mon url par « .html » ou si ces crawlers et robots peuvent référencer ce type d'url finissant par des lettres ou des chiffres ?

D'avance merci pour vos réponses.
 
WRInaute discret
oui, base64 est decodable par n'importe qui, javascript par exemple peut decoder le base64.

utilises plutot une fonction genre md5 qui ne marche que dans un sens. Par contre il faut que toi tu gardes quelque part une reference à l'url d'origine pour faire la correspondance.
 
WRInaute discret
J’ai du mal à comprendre pourquoi tu veux faire cela. Ca donne des url vraiment très laides.
Si valeur1 valeur2 valeur3 servent à accéder a une page particulière de ta rubrique, il vaut mieux les laisser dans l’url et encore mieux utiliser mod_rewrite.
Sinon, si tu veux vraiment les cacher, tu peux utiliser les variables de session.
 
Nouveau WRInaute
Merci pour vos réponses.

haute-definition.info il s'agit en faite d'informations assez sensibles qui vont transitées par les variables valeur1 valeur2 et valeur3 dans l'url, donc si j'utilise le mod_rewrite ces variables ne seront pas cachées, quand aux variables de session elles ne stockent les variables que pour la session en cours, ça ne marchera pas si tu mémorises cette url et que tu y accèdes de nouveau dans 3 ou 10 jours.

ZoRRo75 quand tu dis :
il faut que toi tu gardes quelque part une reference à l'url d'origine pour faire la correspondance.
peux-tu expliquer un peu plus ? J'ai lu sur un article que le md5 est vulnérable depuis l'été 2004 et qu'il est préférable d'utiliser le SHA256 ?

Sinon est-ce que vous connaissez un script PHP qui encode et décode une url (qui soit réversible) et surtout qui n'est pas vulnérable ?
 
WRInaute discret
Avec du cryptage, tu risque d’utiliser beaucoup de ressources CPU pour pas grand chose. L’idée ZoRRo75 est bien plus performante :

Tu stockes dans ta base de données :
1 -> 3;4;5
2 -> 8;9;1
3 -> 5;4;3

Et tu transforme tes url :
example.com/index.php?rub=ma_rubrique&a=3&b=4&c=5
example.com/index.php?rub=ma_rubrique&a=8&b=9&c=1
En :
example.com/index.php?rub=ma_rubrique&id=1
example.com/index.php?rub=ma_rubrique&id=2
 
Haut