W3C Проверка HTML-страницы с & в URL - PullRequest
2 голосов
/ 26 апреля 2009

У меня есть страница, на которой пользователи отправляют URL-адреса, некоторые из которых содержат &, = и т. Д. Теперь, если я хочу проверить его с помощью W3C, мне нужно записать его как & = и т. Д. Как я могу автоматически это сделать? Кроме того, я должен даже беспокоиться?

Ответы [ 5 ]

10 голосов
/ 14 мая 2009

тогда вы должны закодировать URL на стороне сервера. не зная, какой язык вы используете, вот список:

* htmlentities() - PHP
* HttpUtility.UrlEncode() - ASP.net
* URI.escape() - Ruby
* URLEncodedFormat() - Coldfusion
* urllib.urlencode() - Python
* java.net.URLEncoder.encode() - Java
1 голос
/ 26 апреля 2009

Да, вы должны беспокоиться, и это довольно просто. Сказать «О, посмотрите, сколько там недопустимых страниц», не оправдывает ваш вклад в проблему. Каждый основной язык либо имеет эту встроенную функциональность (как отмечено в PHP) и / или может реализовать ее тривиально.

0 голосов
/ 14 мая 2009

Вам нужно использовать %26 вместо &.

В общем случае найдите функцию кодировщика URL на любом языке, который вы используете.

0 голосов
/ 26 апреля 2009

Если пользователи отправляют URL-адреса, и вы хотите помочь им не совершать ошибок, я бы проверил URL-адрес, позвонив по нему. Используйте метод http head для проверки URL.

Это займет больше времени программирования, чем статический просмотр строки URL. Вы можете подумать об использовании вспомогательного процесса, асинхронном возврате результата в исходную отправку и т. Д. Но это тот тип вещей, который отделяет студентов от профессионалов.

0 голосов
/ 26 апреля 2009

Я бы сказал, даже не беспокойтесь. См. Сообщение Джеффа на эту тему: Проверка HTML: имеет значение?

С другой стороны, если вы перфекционист, правильное экранирование строк запроса должно быть довольно тривиальным на любом языке. Например, вы можете использовать htmlspecialchars, htmlentities, urlencode или rawurlencode в PHP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...