تشفير URL - تشفير URL الآمن
العودة للأدواتحول ترميز URL
ترميز URL (الترميز بالنسبة المئوية) يحول الأحرف إلى تنسيق يمكن نقله عبر الإنترنت. تقوم هذه الأداة بترميز الأحرف الخاصة والمسافات والأحرف غير ASCII بأمان للاستخدام في URLs وبيانات النماذج وطلبات HTTP.
متى تستخدم
- نقل بيانات النماذج
- ترميز معاملات URL
- إنشاء سلسلة الاستعلام
ما هو ترميز URL؟
ترميز URL هو آلية لتحويل الأحرف إلى تنسيق ASCII صالح للنقل عبر الإنترنت. يستبدل أحرف ASCII غير الآمنة بـ "%" متبوعاً برقمين سادس عشري يمثلان رمز ASCII للحرف.
كيف يعمل ترميز URL
تحول عملية الترميز كل حرف غير آمن إلى تمثيله السادس عشري ASCII، مسبوقاً بعلامة النسبة المئوية (%). هذا يضمن أن جميع الأحرف يمكن نقلها بأمان في URLs.
قواعد الترميز
الأحرف المحجوزة (مثل ?, &, =) والأحرف غير الآمنة (مثل المسافات، علامات الاقتباس) يتم ترميزها. الأحرف الآمنة (A-Z, a-z, 0-9, -, ., _, ~) تبقى دون تغيير.
أمثلة ترميز URL
الأحرف الخاصة
الأصلي: مرحبا بالعالم!
المرمز: %D9%85%D8%B1%D8%AD%D8%A8%D8%A7%20%D8%A8%D8%A7%D9%84%D8%B9%D8%A7%D9%84%D9%85%21
عنوان البريد الإلكتروني
الأصلي: user@example.com
المرمز: user%40example.com
معاملات الاستعلام
الأصلي: name=أحمد&age=25
المرمز: name%3D%D8%A3%D8%AD%D9%85%D8%AF%26age%3D25
رموز خاصة
الأصلي: $100 & خصم 50%
المرمز: %24100%20%26%20%D8%AE%D8%B5%D9%85%2050%25
التفاصيل التقنية
الأحرف المحجوزة
: / ? # [ ] @ ! $ & ' ( ) * + , ; =
الأحرف غير الآمنة
Space " < > % { } | \ ^ ` [ ]
تنسيق الترميز
كل حرف مُرمز يتبع النمط: % + رقمان سادس عشري يمثلان قيمة ASCII.
مسافة (ASCII 32) = %20، @ (ASCII 64) = %40
حالات الاستخدام الشائعة
إرسال بيانات النماذج
ترميز بيانات النماذج قبل إرسال طلبات HTTP POST لضمان النقل الصحيح للأحرف الخاصة.
إنشاء معاملات URL
إنشاء معاملات URL آمنة بترميز القيم التي قد تحتوي على مسافات أو أحرف خاصة.
بناء طلبات API
إعداد البيانات لاستدعاءات RESTful API حيث تحتاج المعاملات إلى أن تكون آمنة URL لطلبات GET.
تطوير الويب
ضمان إمكانية تضمين المحتوى المُنشأ من المستخدم بأمان في URLs دون كسر هيكل الطلب.
أفضل الممارسات والنصائح
ترميز مدخلات المستخدم دائماً
لا تثق أبداً في مدخلات المستخدم - قم دائماً بترميز البيانات قبل تضمينها في URLs لمنع هجمات الحقن.
الترميز فقط عند الضرورة
لا تقم بترميز السلاسل المُرمزة بالفعل لتجنب مشاكل الترميز المزدوج التي يمكن أن تؤدي إلى تلف البيانات.
استخدام مجموعة الأحرف المناسبة
تأكد من أن تطبيقك يستخدم ترميز أحرف متسق (UTF-8) طوال عملية الترميز.
التحقق قبل الترميز
تحقق من صحة وتطهير بيانات المدخل قبل الترميز لاكتشاف المشاكل الأمنية المحتملة مبكراً.
اختبار الحالات الحدية
اختبر الترميز مع الأحرف الخاصة، ويونيكود، والحالات الحدية لضمان المعالجة القوية.
توثيق متطلبات الترميز
وثّق بوضوح أي أجزاء من API أو التطبيق تتطلب مدخل مُرمز URL.
المشاكل الشائعة وحلول المشاكل
مشكلة الترميز المزدوج
URLs تصبح تالفة عند ترميز السلاسل المُرمزة بالفعل (مثل، %20 يصبح %2520).
تحقق مما إذا كانت البيانات مُرمزة بالفعل قبل تطبيق ترميز URL. قم بتطبيق منطق الكشف.
عدم تطابق مجموعة الأحرف
الأحرف غير ASCII تظهر بشكل غير صحيح بعد الترميز بسبب مشاكل مجموعة الأحرف.
تأكد من ترميز UTF-8 المتسق في جميع أنحاء التطبيق وحدد charset في الرؤوس.
التباس علامة الزائد
علامات الزائد (+) في URLs قد يتم تفسيرها كمسافات في ترميز بيانات النموذج.
استخدم %2B لعلامات الزائد الحرفية في URLs، أو + للمسافات في application/x-www-form-urlencoded.
مشاكل الأحرف المحجوزة
الأحرف المحجوزة تكسر هيكل URL عندما لا يتم ترميزها بشكل صحيح.
قم دائماً بترميز الأحرف المحجوزة (?, &, =, إلخ.) عندما تظهر في قيم المعاملات.