¿Es seguro utilizar valores generados módulo Python UUID en la dirección URL de una página web de?

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

  •  05-09-2019
  •  | 
  •  

Pregunta

¿Es seguro utilizar valores generados módulo Python UUID en la dirección URL de una página web de? Wnat utilizar esas identificaciones como parte de la URL del. ¿Hay caracteres que no son seguras siempre que genera Python UUID que no deberían estar en el URL de?

¿Fue útil?

Solución

Son seguros. Ver aquí para todos los posibles formatos de salida. Todos ellos son cadenas legibles o enteros.

Otros consejos

Es una buena práctica a siempre los datos urlencode que se coloca en las direcciones URL. Entonces usted no necesita preocuparse por los detalles de UUID o si va a cambiar en el futuro.

Yo uso principalmente GUID como claves primarias y, a menudo necesito pasarlos como argumentos en torno URL.

El formato hexadecimal, con los guiones y caracteres adicionales parece innecesariamente largo para mí. Pero también me gusta que las cadenas que representan números hexadecimales son muy seguros en cuanto a que no contienen caracteres que pueden causar problemas con las direcciones URL.

En lugar de hexadecimal, utilizo una cadena base64 url-seguro. El siguiente es un código Python que hace esto. No se ajusta a cualquier especificación UUID / GUID aunque (aparte de tener la cantidad requerida de aleatoriedad).

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('=', '')
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top