В одном из моих веб-приложений 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-адреса, но, по крайней мере, теперь я знаю, какие они есть. Возможно, это попытка угона Сессии ...