Gérard Lambert
Gérard Lambert

Reputation: 43

ASP.NET MVC / Mysterious characters in URL

I have deployed a website in ASP.NET MVC (version 5.2.3.0) and i am facing a strange problem, sometimes there are characters which goes in the URL like, for example : www.website.com/(X(1)S(3hfps41rchxt45wwrsn4o5bi))/RestOfRoute instead of www.website.com/RestOfRoute

It happens randomly and the mysterious string always matches (X(1)S(*)).

After searching on stackoverflow, I found that it could be related to session-less cookie, but my website does not use it. Here is an extract of the Web.config that maybe could help :

<authentication mode="Forms">
   <forms loginUrl="<url>" timeout="2880" />
</authentication>

Does anybody know what is the source of this problem ?

EDIT 1 :

"system.web" block of the Web.config

<system.web>
  <customErrors mode="RemoteOnly" />
  <compilation debug="false" targetFramework="4.5">
    <assemblies>
      <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      <add assembly="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    </assemblies>
  </compilation>
  <authentication mode="Forms">
    <forms loginUrl="<url>" timeout="2880" />
  </authentication>
  <pages>
    <namespaces>
      <add namespace="System.Web.Helpers"/>
      <add namespace="System.Web.Mvc"/>
      <add namespace="System.Web.Mvc.Ajax"/>
      <add namespace="System.Web.Mvc.Html"/>
      <add namespace="System.Web.Routing"/>
      <add namespace="System.Web.WebPages"/>
      <add namespace="Telerik.Web.Mvc.UI"/>
    </namespaces>
  </pages>

  <httpHandlers>
    <add path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" validate="false"/>
    <add path="Telerik.Web.UI.DialogHandler.axd" verb="*" type="Telerik.Web.UI.DialogHandler" validate="false"/>
    <add verb="GET,HEAD" path="asset.axd" validate="false" type="Telerik.Web.Mvc.WebAssetHttpHandler, Telerik.Web.Mvc"/>
  </httpHandlers>
  <httpRuntime maxRequestLength="2048576000" />
</system.web>

Upvotes: 0

Views: 671

Answers (1)

Farhad Jabiyev
Farhad Jabiyev

Reputation: 26635

<configuration>
  <system.web>
    <sessionState cookieless="true"
      regenerateExpiredSessionId="true" />
  </system.web>
</configuration>

I am pretty sure, your web.config included this. This makes session per tabs. Each tab will have unique identifier, and with the help of this identifer the server will know which tab is requesting.

Upvotes: 2

Related Questions