Previous Entry Share Next Entry
2016-01

HTTP Error 400 в ASP.NET (IIS) с двоеточием (colon) в URL

Если у вас не работают урлы вида http://something/blabla:omfg (выдается ошибка 400), то знайте – она вызвана паранойей IIS (защита от атак на NTFS Alternate Data Streams).

Решение: KB 826437 ( http://support.microsoft.com/kb/826437 )

  1. Ensure Microsoft .NET 1.1 SP1 is installed on the machine
  2. In the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET create a 32bit DWORD value of VerificationCompatibility = 1
  3. Restart IIS.

У меня (IIS 6, ASP.NET 2) работает, может, поможет кому-то еще.

UPD: для ASP.NET 4 надо еще сделать такое:

<system.web>
<httpRuntime requestPathInvalidCharacters="" />
<pages validateRequest="false" />
</system.web>

<system.webServer>
<security>
<requestFiltering allowDoubleEscaping="true" />
</security>
</system.webServer>

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

?

Log in

No account? Create an account