Отправка & в URL-адрес сервера ASP.NET MVC IIS7 - PullRequest
0 голосов
/ 04 августа 2011

Мы используем ASP.NET MVC3 с движком Razor View и стандартным HTML и jquery на стороне клиента.Мы пытаемся передать «&» в URL-адресе поискового запроса, но мы всегда получаем потенциально опасное значение Request.Path, которое было обнаружено клиентом (&) , хотя мы кодировалиэто со стороны JavaScript с использованием encodeURIComponent

http://localhost:6200/en/us/home/GetPoints/cat-0,gov-0,city-0,key-casper%26gambibi,addr-!1!10

Спасибо Yehia

1 Ответ

1 голос
/ 04 августа 2011

Одним из подходов может быть изменение атрибута requestPathInvalidCharacters узла HttpRuntime в web.config

Элемент httpRuntime

Используя следующий параметр конфигурации HttpRuntime, вы можетесохраняйте строгость проверки, удаляя проверку проверки & символа, однако оставляя остальные на месте.

Значения по умолчанию для requestPathInvalidCharacters: "<,>, *,%, &,:, \".Так что просто удалите &.

<httpRuntime requestValidationMode="4.0" executionTimeout="20"
requestPathInvalidCharacters="&lt;,&gt;,*,%,:,\,?"  /> 

Но, как упоминал Крис в своем комментарии выше, передача значений поиска в строке запроса будет работать без вышеуказанного изменения httpRuntime:

http://localhost:6200/en/us/home/GetPoints?paramName=key-casper%26gambibi&......
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...