2010-08-11 1 views
0

Это связано с предыдущей (без ответа) проблемой, с которой я столкнулся с попыткой уловить ошибки запроса в Global.asax, но теперь она выглядит более широко ,Перенаправление URL IIS7 Не работает на ASPX-страницах с двоеточиями в имени

Функция перенаправления URL-адресов в IIS7 не будет обрабатывать URL-адреса, которые заканчиваются на .aspx и содержат двоеточие в любом месте URL-адреса. Вместо того, чтобы следовать своим собственным правилам переадресацией, IIS7 лечит .aspx страницы по-разному к другим, и бросает

[NotSupportedException:. Формат данного РАТН не поддерживается]

Кто-нибудь еще столкнулись с этой проблемой ?

ответ

2

Возможно, IIS обрабатывает двоеточие, как если бы он предшествовал номеру порта (http://mysite.com:12345) или другому вызову команде IIS или OS. Таким образом, это может быть подозрительным в отношении какой-либо инъекции кода.

Вы можете попробовать эту тему: Why is using a URL containing a colon considered as a "potentially dangerous request"?.

У Hanselman также был интересный бит о переписывании черной магии - проверьте середину статьи, чтобы узнать больше о характере двоеточия. http://www.hanselman.com/blog/ExperimentsInWackinessAllowingPercentsAnglebracketsAndOtherNaughtyThingsInTheASPNETIISRequestURL.aspx

+0

Указанная ссылка Hanselman.com <страницы validateRequest = "false" />. Я пробовал это раньше, используя метод Global.asax, и это не имело никакого эффекта. Повторить попытку снова с помощью URL-адреса Rewriting, так как он сейчас работает! Благодарю. – roryok

+0

Еще одна интересная разработка здесь, это работает только в том случае, если режим перезаписи URL установлен как «переписать», а не «перенаправить». При настройке на «перенаправление» выбрано одно и то же исключение NotSupportedException – roryok