سؤال

هل هناك أي قيود رسمية على النحو الذي يسمح الأحرف في أسماء المعلمات URL؟

ولقد تم قراءة RFC3986 (و"معرف الموارد (URI): بناء الجملة العام" ) ولكن جاء إلى أي استنتاج نهائي.

وأعرف أن هناك القيود العملية، ولكن في الواقع يحظر أن تفعل شيئا مثل:

param with\funny<chars>=some_value

وطالما أنا الخروج منه بشكل صحيح:

param%20with%1cfunny%3cchars%3e=some_value
هل كانت مفيدة؟

المحلول

وهناك أي قيود على أسماء المعلمات هرب في المواصفات URI. قد تكون هناك قيود في البرنامج من جانب الخادم التي تستخدمها، بالرغم من ذلك. هذا ينطبق بشكل خاص إذا كنت تستخدم البرامج النصية "محلية الصنع" لتفسير محددات.

نصائح أخرى

ويجب عليك أيضا قراءة RFC2396 . ويبدو أن أكثر إفادة من RFC3986.

وهناك شخصيات المحجوزة لعناوين المواقع، ولكن طالما أنك الهروب (urlencode) ثم يجب أن يكون على ما يرام.

واعتمادا على الإطار المستخدم، قد تحصل استثناءات إذا حاولت تقديم القيم المشبوهة. ASP.NET ديه تصفية المحتوى من شأنها أن رمي الاستثناءات إذا حاولت تقديم بيانات "غير آمنة"، مثل البرامج النصية أو HTML. هذا هو سمة من سمات إطار الرغم بدلا من وجود قيود أو قاعدة التي فرضتها جملة URL.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top