Пост Скотта Хансельмана об использовании дурацких символов в URL-адресе запроса , объясняет, как можно обойти функции безопасности IIS и ASP.Net, чтобы разрешить передачу недействительных символов в URL-адресе ... но яуверен, что обмен стеками делает это по-другому, так как его методология делает сайт широко открытым для злонамеренных атак и ошибок.
StackExchange имеет ссылки на теги, например C#
, которые отправляются на веб-серверGET
запрос закодирован, например:
// C#
http://stackoverflow.com/questions/tagged/c%23
// C++
http://stackoverflow.com/questions/tagged/c%2b%2b
Хитрость в том, что ... они отправляются как значения пути запроса (например, параметры маршрута), а не как значения в строке запроса ...
Если вы видите статью Хансельмана, он предполагает, что это возможно только при отключении некоторых других функций безопасности, кроме RequestValidation (последний допускает кодированные символы в части URL-адреса строки запроса).
Вопросы
Как StackExchange достигает этого?
Если это делается так же, как Гансельман иллюстрирует в своем блоге, какие дополнительныеТепс они берут, чтобы защитить себя?