É seguro usar os valores gerados módulo Python UUID na URL de uma página da Web?

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

  •  05-09-2019
  •  | 
  •  

Pergunta

É seguro usar os valores gerados módulo Python UUID na URL de uma página da Web? Wnat para usar essas de identificação como parte da URL. Existem quaisquer caracteres não-seguras sempre gerados pelo Python UUID que não deveria estar na URL?

Foi útil?

Solução

Eles são seguros. Consulte aqui para todos os formatos de saída possíveis. Todos eles são cadeias legíveis ou ints.

Outras dicas

É uma boa prática para sempre dados UrlEncode que serão colocados em URLs. Então você não precisa se preocupar com as especificidades de UUID ou se ele vai mudar no futuro.

Eu uso GUIDs principalmente como chaves primárias e muitas vezes precisam de passá-los em torno de como argumentos de URL.

A forma hexadecimal, com os traços e caracteres extras parecem desnecessariamente longo para mim. Mas eu também gosto que strings representando números hexadecimais são muito seguros na medida em que não contêm caracteres que podem causar problemas com URLs.

Em vez de hexadecimal, eu uso uma string base64 url-safe. O seguinte é algum código Python que faz isso. Ele não se conforma com qualquer UUID / spec GUID embora (além de ter a quantidade necessária de aleatoriedade).

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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top