هل هي آمنة لاستخدام الوحدة النمطية ل UUID Python التي تم إنشاؤها في عنوان الويب الخاص بك؟

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

  •  05-09-2019
  •  | 
  •  

سؤال

هل هي آمنة لاستخدام الوحدة النمطية ل UUID Python التي تم إنشاؤها في عنوان الويب الخاص بك؟ WNAT لاستخدام تلك المعرف كجزء من عنوان URL. هل هناك أي شخصيات غير آمنة تم إنشاؤها بواسطة Python Uuid التي لا ينبغي أن تكون في URL؟

هل كانت مفيدة؟

المحلول

أنها آمنة. يرى هنا لجميع صيغ الإخراج الممكنة. كلهم هم سلاسل قابلة للقراءة أو Ints.

نصائح أخرى

انها ممارسة جيدة ل دائما بيانات Urlencode التي سيتم وضعها في عناوين URL. ثم لا تحتاج إلى أن تشعر بالقلق مع تفاصيل UUID أو إذا سيتغير في المستقبل.

يمكنني استخدام GUIDs بشكل أساسي كمفاتيح أساسية وغالبا ما تحتاج إلى تمريرها كحجج URL.

يبدو النموذج السداسي عشري، مع شرطات وأحرف إضافية طويلة دون داع. لكنني أيضا أحب هذه الأوتار التي تمثل الأرقام الستاسية عشرية آمنة للغاية لأنها لا تحتوي على أحرف يمكن أن تتسبب في مشاكل مع عناوين URL.

بدلا من سداسي عشري، أستخدم سلسلة Base64 آمنة URL. فيما يلي بعض كود بيثون الذي يفعل هذا. لا يتوافق مع أي مواصفات 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