Які правила кодування URL?

2024 Від admin

Кодування URL-адреси (кодування у відсотках) Кодування URL-адреси замінює небезпечні символи ASCII на "%", за якими слідують дві шістнадцяткові цифри. URL-адреси не можуть містити пробіли. Кодування URL-адреси зазвичай замінює пробіл знаком плюс (+) або %20.

Допустимі символи в URL-адресах:

  • А – Я.
  • a – z.
  • 0 – 9.
  • Спеціальні символи, наприклад $-_.+! *'(),
  • Можна використовувати зарезервовані символи, які використовуються для їх зарезервованих цілей. незакодовані в URL-адресі, але інші призведуть до необробленої помилки, наприклад /&?=: %

Будь-який символ, не визначений у дійсному списку символів або не використаний відповідно до використання списку зарезервованих символів мають бути закодовані URL-адреси.

Дійсна URL-адреса має відповідати таким вимогам:

  • URL-адреса має використовувати стандартний формат URI.
  • Довжина URL-адреси не може перевищувати 1024 символи.
  • URL-адреса не може містити символи, відмінні від ASCII.
  • Доменне ім’я перед двокрапкою (:) не може перевищувати 255 символів.
  • Довжина доменного імені між крапками (.) не може перевищувати 63 символи.

Кодування URL-адреси працює шляхом заміни будь-яких символів або пробілів у URL-адресі керуючими послідовностями у формі «%xx», де «xx» — двозначне шістнадцяткове число, яке представляє еквівалентний символ у наборі символів ASCII. Наприклад, кодування URL-адреси для символу « » — «%20», а для символу «#» — «%23».

Правило №5 для коли ви хочете помістити ненадійні дані в значення параметра HTTP GET. Як тільки жертва натисне на закодовану URL-адресу, вона перейде за цим посиланням. Але коли сервер читає (наприклад, $_GET['name']; у PHP) значення параметра get, він читатиме звичайний текст, наприклад. якщо url?

Використовуйте безпечні символи в URL-адресах

ПерсонажіКодування
Безпечні персонажіБуквено-цифрові [0-9a-zA-Z], спеціальні символи $-_.+!*'(),немає
Зарезервовані символи; / ? : @ = &Так*
Небезпечні персонажіВключає порожній простір і " < > # % { } | \ ^ ~ [ ] `так