Большинство MVC - это то же самое, что и веб-формы - они оба находятся на Asp.net, как уже сказал @GuyIncognito, большинство из них одинаковые.
Основное отличие состоит в том, что WebForms могут проверять свою обратную передачу - у них есть уникальные ключи в содержимом страницы, которые подтверждают, что каждая обратная передача пришла с обслуживаемой страницы.
Только это не так, его можно взломать, состояние просмотра тратит много места и никогда не может быть полностью отключено. Я считаю, что лучшая практика использования WebForms заключается в том, чтобы никогда не предполагать, что обратная передача определенно принадлежит обслуживаемой странице, и все равно перепроверить безопасность.
С помощью MVC постбэки выполняются по-разному, с моделями и компоновщиками моделей, инкапсулирующими контент в типобезопасных объектах. Проверки еще нужно сделать, так как подделка обратной передачи теперь стала намного проще. Итак:
- Никогда не предполагайте, что модель получена из определенного источника.
- Предположим, что модель может быть повреждена, и не полагайтесь на нее.
- Относитесь к действиям контроллера MVC так же, как к вызовам WebMethod или службы - попытка взлома может вызвать любой из них в любом порядке с любыми параметрами.
В любом случае, все это является наилучшей практикой в WebForms, теперь проще попробовать этот тип взлома в MVC.
MVC включает поддержку токенов защиты от подделки, вот отличная статья о них . это помогает, но я все еще не буду полагаться на это.
Все остальное (кодирование всех сгенерированных пользователем выходных данных, параметризация всех входных данных Sql и т. Д.) Одинаково.