9
votes

Codage / décodage d'URL PHP


1 commentaires

@Michael J.v.: souhaite coder la clé pour empêcher les gens de ramper nos données en boucle via les identifiants. Qu'est ce qui ne va pas avec ça? Quelle est la meilleure solution / meilleure solution?


4 Réponses :


4
votes

Utilisez PHP's urlencode () fonction à encoder la valeur avant de le mettre dans une URL.

chaîne urlencode (chaîne $ str > )
Cette fonction est commode quand encoder une chaîne à utiliser dans un interroger une partie d'une URL, comme une commode façon de passer des variables à la prochaine page.

Cette fonction convertit les caractères "étranges", tels que = , dans un format sans danger pour mettre dans une URL. Vous pouvez l'utiliser comme ceci: xxx


0 commentaires

21
votes

Les les caractères étranges dans les valeurs passés dans l'URL doivent être échappés, à l'aide de < code> urlencode ( ).


Par exemple, la partie suivante du code: xxx

vous donnerait: xxx

qui fonctionne bien, comme une URL paramètre.


Et si vous souhaitez construire une chaîne d'aigorie avec plusieurs paramètres, consultez le http_build_query () fonction.

par exemple: xxx

donnera vous: xxx

Cette fonction traite de l'échappement et de la concaténation des paramètres elle-même; -)


1 commentaires

Hey Pascal! Puis-je vous poser une question simple lorsque nous avons une URL codée avec des personnages tels que "cela nous donne% 27, il y a maintenant des préoccupations de sécurité sur ces chiffres ?? ou tout autre problème avec l'URL encodant en outre que le% 27 a l'air très laid.



4
votes

Si vous utilisez base64 pour encoder la valeur binaire de l'URL, il existe également un Variante avec URL et nom de fichier Safe alphabet .

Vous pouvez utiliser le strtr Fonction pour traduire un de l'alphabet à l'autre: xxx

afin que vous puissiez utiliser ces fonctions pour encoder et décoder base64url : < / p> xxx

Voir aussi Ma réponse sur Qu'est-ce qu'un bon moyen de produire une courte chaîne alphanumérique à partir d'une longue hachage MD5?


1 commentaires

J'ai mis en place cela autant de fois et semble être le moyen le plus simple (si vous voulez toujours aller à cet itinéraire).



1
votes

Il n'y a pas d'utilisation dans les paramètres cryptés.
Envoyez-le comme:

/index.php?id=3 


3 commentaires

Sauf si vous utilisez un numéro de sécurité sociale ou quelque chose de similaire comme une clé primaire.


Si vous utilisez-le comme une clé primaire du tout?


Je suis sûr que certaines applications sont utiles.