Безопасно ли использовать значения, сгенерированные модулем Python UUID, в URL-адресах веб-страницы?

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

  •  05-09-2019
  •  | 
  •  

Вопрос

Безопасно ли использовать значения, сгенерированные модулем Python UUID, в URL-адресах веб-страницы?Wnat использовать эти идентификаторы как часть URL-адресов.Существуют ли какие-либо небезопасные символы, когда-либо сгенерированные Python UUID, которых не должно быть в URL-адресах?

Это было полезно?

Решение

Они в безопасности.Видишь здесь для всех возможных выходных форматов.Все они представляют собой читаемые строки или целые числа.

Другие советы

Это хорошая практика для всегда urlencode данные, которые будут помещены в URL-адреса.Тогда вам не нужно беспокоиться о специфике UUID или о том, изменится ли она в будущем.

Я использую GUID в основном как первичные ключи, и мне часто приходится передавать их в качестве аргументов URL.

Шестнадцатеричная форма с тире и дополнительными символами кажется мне излишне длинной.Но мне также нравится, что строки, представляющие шестнадцатеричные числа, очень безопасны, поскольку они не содержат символов, которые могут вызвать проблемы с URL-адресами.

Вместо шестнадцатеричной я использую строку base64, безопасную для URL-адресов.Ниже приведен некоторый код Python, который делает это.Однако это не соответствует ни одной спецификации UUID / GUID (за исключением наличия требуемого количества случайности).

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('=', '')
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top