ASP.NET MVC2 мусор в URL - PullRequest
       3

ASP.NET MVC2 мусор в URL

2 голосов
/ 26 августа 2011

У нас есть странная проблема, когда инструменты Google для веб-мастеров предупреждают нас о некоторых довольно странных URL-адресах, которые он пытается найти. Мы понятия не имеем, где они создаются, и хотели бы понять, как они были созданы. Они имеют форму:

http://test.xyz/(F(pC3Rt9u0AmQepAH-uY341LtzYEKrdkOOEgB9nDyfdDB6X9uL__MmT7S-euwfO_yPKKz8gdhnBhv8v1aGkuRj6G61sSaQ7mo1F8-PI32-pZxh9UJjogZk9Shvp7jdTaFLGHLEEw0_TtMNfvgoNMg6iQhOenxOisfvYc0BfbtxM53ksFvR0))/funk-radio

Обычно это принимает форму:

http://test.xyz/funk-radio

но asp.net MVC, похоже, имеет дело с мусором (игнорируя его?), И кажется, что (первый) запрос правильно маршрутизируется. На самом деле кажется, что все маршруты работают правильно, когда этот мусор добавляется. Например:

http://test.xyz/some/other/page

одинаково доступен через:

http://test.xyz/(F(pC3Rt9u0AmQepAH-uY341LtzYEKrdkOOEgB9nDyfdDB6X9uL__MmT7S-euwfO_yPKKz8gdhnBhv8v1aGkuRj6G61sSaQ7mo1F8-PI32-pZxh9UJjogZk9Shvp7jdTaFLGHLEEw0_TtMNfvgoNMg6iQhOenxOisfvYc0BfbtxM53ksFvR0))/some/other/page

Для меня это означает, что мусор имеет какое-то особое значение. Может ли кто-нибудь просветить меня о том, что здесь происходит. Эти маршруты не должны совпадать, но они явно совпадают. Что происходит?

EDIT

Мы не используем безударную аутентификацию. Вот соответствующая часть web.config:

<authentication mode="Forms">
  <forms loginUrl="~/Account/LogOn" defaultUrl="~" slidingExpiration="true"
        timeout="10080"/>
</authentication>

Интересно, если я подключусь к сайту со стандартным user-agent:

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0,

с использованием одного из этих URL, заполненных мусором, тогда запрос будет выполнен.

Если, с другой стороны, я подключаюсь с помощью googlebot UA

Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

Я получаю ответ 400.

1 Ответ

3 голосов
/ 26 августа 2011

Глядя на URL-адреса, первое, что приходит на ум, это то, что ваш сайт использует аутентификацию без файлов cookie.Когда я работал с ASP.NET, для проекта мы использовали аутентификацию без проверки подлинности, и фреймворк ставил этот маркер перед каждым URL.

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