Вопрос

Существуют ли какие-либо формальные ограничения в отношении того, какие символы разрешены в именах параметров URL?

Я читал RFC3986 (" унифицированный идентификатор ресурса (URI): общий синтаксис " ;) но не пришел к окончательному выводу.

Я знаю, что есть практические ограничения, но будет ли на самом деле запрещено делать что-то вроде:

param with\funny<chars>=some_value

Пока я правильно это избегаю:

param%20with%1cfunny%3cchars%3e=some_value
Это было полезно?

Решение

Нет ограничений на экранированные имена параметров в спецификациях URI. Однако могут быть ограничения в используемом вами серверном программном обеспечении. Это особенно верно, если вы используете & # 8220; homemade & # 8221; скрипты для интерпретации URI.

Другие советы

Вам также следует прочитать RFC2396 . Это кажется более информативным, чем RFC3986.

Для URL-адресов есть зарезервированные символы, но если вы укажете (urlencode), то все будет в порядке.

В зависимости от используемой платформы вы можете получить исключения, если попытаетесь отправить подозрительные значения. ASP.NET имеет фильтрацию содержимого, которая будет выдавать исключения, если вы попытаетесь отправить «небезопасно» данные, такие как скрипты или HTML. Это особенность платформы, а не ограничение или правило, налагаемое синтаксисом URL.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top