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