Странные маршруты показаны в логах для приложения MVC3 - PullRequest
2 голосов
/ 22 ноября 2011

В одном из моих веб-приложений MVC3 я недавно заметил несколько странно выглядящих URL-адресов в аналитических отчетах.

URL-адреса выглядят так, как будто они имеют закодированное значение, введенное в маршрут, но, похоже, соответствуют маршрутам, как если бы закодированное значение отсутствовало.

Обычный URL

/MyWebsite/Controller/Action

В журналах время от времени появляется как

/MyWebsite/(F(B5l-uGhiwA7p6lMmAdzwc27qHH8p5Kdmy5l3ixub7-meZ315Xm-uOtFl_w8RRdki4pf_yhRysEOVZ93xPV3yxDkn5XhXaY5PLara_kiqFb8BlHDZkzqv6wHgOgMTWgUF0))/Controller/Action

Я проверил это на сервере и локальном компьютере, и оно разрешается на контроллер независимо от наличия вставленного значения.

Похоже, что они следуют определенному шаблону, поэтому я проверил, используя другие варианты

/MyWebsite/(F(anything-here))/Controller/Action

Решает нормально, я также могу заменить F на любую другую букву

/MyWebsite/(A(anything-here))/Controller/Action

Однако размещение более 1 буквы или другого символа вместо F не разрешает

/MyWebsite/(AB(anything-here))/Controller/Action = 404 Ошибка

Я подумал, что это может быть связано с сеансами Cookieless, но информация, которую я нашел, предполагает, что это все равно не поддерживается в MVC. Кто-нибудь знает, что это такое, или есть о чем беспокоиться?

EDIT:

Отключая файлы cookie для локального браузера, я установил состояние сеанса на «Автоопределение» в диспетчере IIS, и он дал мне ключ в URL-адресе, который поразительно похож на шаблон, описанный выше.

Когда я пытаюсь войти в систему без Cookies, это, похоже, не работает, но, возможно, это другая проблема.

Настройка диспетчера IIS на «Использовать файлы cookie» и доступ с помощью браузера с отключенными файлами cookie (я использовал Opera с опцией «Никогда не принимать файлы cookie» в дополнительных настройках), похоже, не создавал URL-адрес, как раньше, но, судя по сходство должно как минимум объяснить, почему оно соответствует маршрутам.

Поскольку на моем сервере в IIS установлено «Использовать файлы cookie», я не уверен, почему создаются URL-адреса, но, по крайней мере, теперь я знаю, какие они есть. Возможно, это попытка угона Сессии ...

1 Ответ

2 голосов
/ 22 ноября 2011

Это действительно похоже на данные сеанса, хранящиеся в URL.Это особенность ASP.NET и прекрасно работает с MVC.Найдите в диспетчере IIS значок состояния сеанса на своем веб-сайте, и для него в настройках файлов cookie, скорее всего, установлено автоматическое определение.Это может привести к переходу в режим URI, если файлы cookie не поддерживаются.

...