Странная строка в адресной строке IE и в источнике - PullRequest
2 голосов
/ 23 октября 2009

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

Адрес должен быть: http://URL/Couple папок / page.aspx

но иногда то же самое становится: http://URL/(X(1)F(qHfgTf50ahMY47b-lnz3ovk89OA4AbMN4S-sYVZCgCULL))/Folders/Page.aspx

Строка также находится в поле действия, как:

<form name="aspnetForm" method="post" action="/**(X(1)F(qHfgTf50ahMY47b-lnz3ovk89OA4AbMN4S-sYVZCgCULL))**/<Page>.aspx" onsubmit="javascript:return WebForm_OnSubmit();" id="aspnetForm">

Я не эксперт по серверам / IIS, поэтому, пожалуйста, извините, если это глупый вопрос, но что за странная строка и нужно ли мне / моим клиентам беспокоиться?

Ответы [ 3 ]

6 голосов
/ 23 октября 2009

Похоже, что в вашей веб-конфигурации у вас есть сеансы без файлов cookie, установленные на auto.

Если пользователь разрешает использование файлов cookie, его идентификатор сессии сохраняется в файле cookie в памяти. Если они этого не делают, ASP.Net вставляет идентификатор сессии в URL, и это используется для определения того, какой пользователь делает запрос. Странная строка символов, которую вы видите, это sessionID для тех людей, у которых отключены куки.

Здесь на самом деле не о чем беспокоиться, хотя это немного облегчает перехват сеанса ... Хотя, вероятно, не стал бы об этом беспокоиться.

Надеюсь, это поможет ...

1 голос
/ 10 октября 2012

Пол прав насчет того, что идентификатор сессии вставляется в ваш URL для пользователей без файлов cookie. Это не проблема для пользователей, но представляет собой потенциально серьезную проблему для ботов (в первую очередь, паука Googlebot), которые сканируют ваш сайт для индексации и ранжирования вашего сайта в поисковых системах.

Боты будут идентифицированы как cookie-файлы вашей инфраструктурой ASP.NET, которая вызывает пару перенаправлений 302 из: // URL / autocookiesupportdetect, а затем в URL / (sessionID) / папки ... Это перенаправление 302 достаточно плохо, но , что еще хуже, робот Googlebot получает sessionID каждый раз, когда сканирует ваш сайт и просматривает каждый URL с идентификатором сессии как дубликат страницы для индексации. Это повредит PageRank для каждой страницы, которую Google сканирует с идентификатором сеанса в URL.

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

1 голос
/ 26 октября 2009

Проверьте настройки узла sessionstate в web.config . Атрибут cookieless в узле sessionstate должен быть установлен на false , как показано в следующих настройках.

<sessionState mode="Off|InProc|StateServer|SQLServer"
              cookieless="true|false"
              timeout="number of minutes"
              stateConnectionString="tcpip=server:port"
              sqlConnectionString="sql connection string"
              stateNetworkTimeout="number of seconds"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...