Я планирую работу над новым проектом, и теперь я искушаю использовать ASP.NET MVC. Мой проект планирует использовать JQuery и AJAX (хотя клиенты, не поддерживающие JS, также будут поддерживаться). Исходя из стандартного фона ASP.NET, я все еще пытаюсь разгадать парадигму MVC (с большой помощью от Scott Guthrie). Однако моя главная проблема с использованием MVC - это аспекты безопасности. Я немного поработал с ASP.NET, и я знаю, как обрабатывать различные атаки. Нужно ли мне переучивать безопасность с помощью ASP.NET MVC? Появляются новые угрозы или даже новые способы обработки старых угроз, которые мне нужно будет прочитать? Я заказал несколько книг ASP.NET MVC (у которых есть главы по безопасности), но я хотел бы узнать о чьем-либо опыте этого.Новое в ASP.NET MVC - Должен ли я переучивать безопасность?
Thanks
Спасибо, это делает намного легче преодолеть кривую обучения. На стороне примечания, если я использую 'UpdateModel()', он автоматически HTMLEncode мои данные? Я понимаю, что я должен делать это вручную при передаче объектов модели, но не совсем уверен, что делать при использовании UpdateModel. Еще раз спасибо. – keyboardP
@TenaciousImpy: вам нужно только беспокоиться о кодировании/экранировании на выходе, когда данные, которые вы представляете, возможно, исходили из ненадежного источника. За некоторыми исключениями, на самом деле не нужно санировать то, что приходит (я предполагаю, что вы параметризуете свои SQL-запросы и все такое). Но чтобы ответить на ваш точный вопрос, нет, «UpdateModel» не кодирует ваши HTML-коды HTML, потому что тогда вы бы закодировали его дважды по мере его отображения, и посетители вашего сайта увидели бы странное экранированное '>' в середине слов , – Aaronaught
С ASP.NET MVC 2, '<%: Model.SomeString%>' автоматически кодирует текст для вас. Обратите внимание на ':' вместо '='. – Omar