it-swarm.asia

ما الأحرف الخاصة التي يمكن استخدامها في url؟

ما الأحرف الخاصة التي يمكن استخدامها في url؟

13
YOU

الأحرف الآمنة هي a-z و A-Z و0-9 و _ - (تسطير أسفل السطر وناقص) ، بالإضافة إلى الأحرف المحجوزة المستخدمة في المعلمات.

سوف الشخصيات الأخرى تعطي مشاكل في بعض درجة. على سبيل المثال: إذا كانت إحدى المعلمات عبارة عن صفيف ?param=array[content] أي ، فسوف تظهر عنوان url مع أقواس url المربعة المشفرة ، والتي تبدو قبيحة ولا يمكن إملاءها.

لكن المشكلة ليست فقط قبيحة ، فلنفترض أن لديك ملف بتنسيق jpg يحتوي على حرف بجانب الشخصيات الأكثر أمانًا ، ولن يتمكن المتصفح في كثير من الأحيان من تنزيله للحصول على 404. هذه مشكلة في المتصفحات الأقدم وبعض متصفحات الجوال.

كيفية اختبار هذا؟

  • ضع مجموعة من الصور/js/css مع الأحرف التي تريد اختبارها في الأسماء في صفحة عامة مع العديد من الزوار
  • اجعل الصفحة 404 ترسل لك رسالة بريد إلكتروني في كل مرة تحصل فيها على نجاح

لدي صندوق بريد يحتوي على 14000 رسالة بريد إلكتروني تثبت وجهة نظري.

10
The Disintegrator

الأحرف التالية لها معنى خاص في مكون المسار الخاص بعنوان URL الخاص بك (مكون المسار هو كل شيء قبل "؟"):

  ";" | "/" | "?"

بالإضافة إلى تلك ، الأحرف التالية لها معنى خاص في جزء الاستعلام من عنوان URL الخاص بك (كل شيء بعد "؟"). لذلك ، إذا كانوا بعد "؟" تحتاج إلى الهروب منها:

  ":" | "@" | "&" | "=" | "+" | "$" | ","

للحصول على شرح أكثر تفصيلاً ، راجع RFC .

11
Thomas Bonini

الإجابات هنا جيدة ، ولكن هناك استثناء آخر أعتقد أنه جدير بالذكر - شخصيات غير إنجليزية. الرجوع هذا سؤال SF هنا ، أحرف مثل كما في Español) شرعية تمامًا ، إذا تم ترميزها في DNS الخاص بك بشكل صحيح.

يجب عليك استخدام --- (Punycode داخل DNS الخاص بك لحملهم على حل في المتصفحات الحديثة (إدخال español هو xn--espaol-zwa) ولكن هذه آمنة الآن للاستخدام في أسماء النطاقات ، لأنها إعادة سهلة لغير الناطقين باللغة الإنجليزية لكتابة كذلك.

3
Mark Henderson