Автоматический выход Asp.Net MVC - PullRequest
3 голосов
/ 22 августа 2009

В приложении Asp.net Mvc все строковые выходные данные по умолчанию не экранированы, либо вы не забываете все экранировать с помощью HTTPUtility, либо вы открываете себя для атак XSS.

Теперь я забывчивый парень, поэтому я ищу решение, которое поможет мне "не забыть" избавиться от всех моих цепочек за меня.

Кто-нибудь может поделиться какими-либо методами, которые они использовали, чтобы ускользнуть от всех выходов Asp.net MVC проще?

Ответы [ 2 ]

2 голосов
/ 23 августа 2009

jfar, то, что вы хотите, абсолютно возможно, смотрите это отличное сообщение в блоге:

http://blog.codeville.net/2007/12/19/aspnet-mvc-prevent-xss-with-automatic-html-encoding/

Стив Сандерсон объясняет пошагово, как изменить поведение "<% = ....>", переопределяя метод GenerateCodeFromStatement () из класса CSharpCodeProvider, что очень круто убирает много вызовов HttpUtility.HtmlEncode и довольно хорошо работает с asp.net mvc.

0 голосов
/ 23 августа 2009

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

Однако, проверьте MVCContrib , в частности, FluentHtml; Я считаю, что по умолчанию для вас подходит кодировка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...