E 'sicuro da usare modulo Python UUID valori generati in URL di una pagina web?

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

  •  05-09-2019
  •  | 
  •  

Domanda

E 'sicuro da usare modulo Python UUID valori generati in URL di una pagina web? Wnat utilizzare tali ID di come parte di URL. Ci sono dei caratteri non sicuri mai generati da Python UUID che non dovrebbero essere in URL?

È stato utile?

Soluzione

Sono sicuri. Vedere qui per tutti i possibili formati di output. Tutti loro sono stringhe leggibili o interi.

Altri suggerimenti

E 'buona norma sempre i dati urlencode che verranno messi in URL. Quindi non è necessario essere interessati con le specifiche di UUID o se cambierà in futuro.

Io uso GUID principalmente come chiavi primarie e spesso bisogno di passare in giro come argomenti URL.

La forma esadecimale, con i trattini e caratteri supplementari sembrano inutilmente lungo per me. Ma mi piace anche che le stringhe che rappresentano numeri esadecimali sono molto sicuri in quanto non contengono caratteri che possono causare problemi con gli URL.

Invece di esadecimale, io uso una stringa base64 sicuro per le URL. Quanto segue è un codice Python che fa questo. Esso non è conforme a qualsiasi spec UUID / GUID anche se (oltre ad avere la quantità necessaria di casualità).

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('=', '')
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top