Как StackExchange обрабатывает недопустимые символы в URL-адресах маршрутов? - PullRequest
2 голосов
/ 09 февраля 2012

Пост Скотта Хансельмана об использовании дурацких символов в 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-адреса строки запроса).

Вопросы

  1. Как StackExchange достигает этого?

  2. Если это делается так же, как Гансельман иллюстрирует в своем блоге, какие дополнительныеТепс они берут, чтобы защитить себя?

1 Ответ

1 голос
/ 10 февраля 2012

Они не принимают ни одного персонажа.Они используют слизняки .

...