Показать сообщение отдельно

  #6  
Старый 30.07.2006, 10:58
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Немного поясню, откуда возникла такая проблема. Когда я настраивал безопасность форума, я проверял валидность URL-ов в строгом соответствии с RFC. Т.е. в урле могут быть только цифры, буквы, и некоторые спец символы. Амперсанд (&) тоже входит в число допустимых симоволов, поскольку он является разделителем атрибутов в CGI-запросах. Однако, помимо этого, он является и знаком HTML-кодирования символов вида &#xx;
Получается что, с одной стороны необходимо оставить амперсанд для таких вот ссылок open('http://ssss.www/?ss=22&ddd=11'), но с другой стороны ссылки типа этой open('http://ssss.www/?ss=22"ddd=11') разрушают джаваскрипт, поскольку парсер преобразует " в кавычку. Диллема.
В настоящий момент, я выхожу из этой ситуации следующим образом:
В ULR знак амперсанда заменяется на & . А при разборе такой ссылки браузером, он сначала преобразует & в амперсанд, и потом выполняется open().
 
Ответить с цитированием