Ist es sicher, Python UUID Modul erzeugten Werte in URL einer Webseite zu benutzen?

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

  •  05-09-2019
  •  | 
  •  

Frage

Ist es sicher, Python UUID Modul erzeugten Werte in URL einer Webseite zu benutzen? Wnat, um diese IDs als Teil der URL zu verwenden. Gibt es nicht sichere Zeichen jemals von Python UUID generiert, die nicht in URLs enthalten sein sollte?

War es hilfreich?

Lösung

Sie sind sicher. Siehe hier für alle möglichen Ausgabeformate. Alle von ihnen sind lesbare Strings oder ints.

Andere Tipps

Es ist gute Praxis auf immer urlencode Daten, die in URLs gestellt werden. Dann müssen Sie nicht mit den Besonderheiten von UUID betroffen sein, oder wenn es in der Zukunft ändern wird.

I GUIDs in erster Linie als Primärschlüssel verwenden und müssen sie oft passieren um als URL Argumente.

Die hexadezimale Form, mit den Strichen und zusätzlichen Zeichen scheint unnötig lange zu mir. Aber Ich mag auch, dass Strings repräsentieren hexadezimale Zahlen sind sehr sicher, dass sie keine Zeichen enthalten, die Probleme mit URLs führen kann.

Statt hexadezimal, verwende ich einen URL-safe base64 String. Hier finden Sie einige Python-Code, der dies tut. Es entspricht nicht jede UUID / GUID-Spezifikation aber (anders als die erforderliche Menge an Zufälligkeit aufweisen).

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('=', '')
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top