Est-il sûr d'utiliser le module Python UUID valeurs générées dans les URL d'une page Web?

StackOverflow https://stackoverflow.com/questions/567324

  •  05-09-2019
  •  | 
  •  

Question

Est-il sûr d'utiliser le module Python UUID valeurs générées dans les URL d'une page Web? Wnat d'utiliser ces identifiants dans le cadre des URL. Y a-t-il des caractères non sûrs jamais générés par Python UUID qui ne devrait pas être dans URL?

Était-ce utile?

La solution

Ils sont en sécurité. Voir pour tous les formats de sortie possibles. Tous sont des chaînes lisibles ou ints.

Autres conseils

Il est bon de toujours données urlencode qui seront placés dans les URL. être concernés alors vous ne devez pas les détails de UUID ou si elle va changer dans l'avenir.

Je l'utilise principalement comme GUIDs clés primaires et souvent besoin de les faire passer comme arguments d'URL.

La forme hexadécimale, avec les tirets et des caractères supplémentaires semblent inutilement long pour moi. Mais j'aime aussi que les chaînes représentant des nombres hexadécimaux sont très sûrs en ce sens qu'ils ne contiennent pas de caractères qui peuvent causer des problèmes avec les URL.

Au lieu de hexadécimal, j'utilise une chaîne base64-safe url. Ce qui suit est un code Python qui fait cela. Il ne se conforme pas aux spécifications UUID / GUID bien (autre que d'avoir la quantité nécessaire de hasard).

import base64
import uuid

# get a UUID - URL safe, Base64
def get_a_Uuid():
    r_uuid = base64.urlsafe_b64encode(uuid.uuid4().bytes)
    return r_uuid.replace('=', '')
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top