Обеспечение сайта MVC ASP.NET

Я думаю, вы можете использовать Apache Commons Lang для этого. У них есть много методов проверки в Validate class . Я не уверен, достаточно ли он выразителен, но если вам нужно что-то еще, то можно просто написать это для себя, кода для простых проверок не должно быть много.

Кроме того, если вы когда-нибудь захотите интегрировать эти проверки в свой основной код бизнес-логики (а не только в модульные тесты), вам следует взглянуть на Bean Validation . Таким образом, вы определенно не изобретаете колесо, и ваши тесты будут ожидать только исключения из среды валидации.

Ура.

7
задан tereško 13 July 2012 в 11:01
поделиться

7 ответов

  • Если Вы используете cookie для распознавания пользователей, несомненно, будут использовать произвольный маркер (такой как GUID) для хранения на клиенте для идентификации. Я видел слишком много веб-сайтов, которые хранят мой адрес электронной почты, или имя пользователя в моем cookie... просто должны изменить его на другого!

  • Запишите свое программное обеспечение так, чтобы оно могло работать под средним доверием.

4
ответ дан 6 December 2019 в 21:20
поделиться

Если Вы плохо знакомы с веб-разработкой, необходимо знать, что перекрестный сайт пишет сценарий (XSS). Можно использовать Http. Закодируйте вспомогательный метод защитить от этого в ASP.NET MVC.

3
ответ дан 6 December 2019 в 21:20
поделиться

Удостоверьтесь, что Вы предотвращаете неисправные запросы. Удостоверьтесь, что клиент аутентифицируется прежде, чем позволить видеть, что уязвимые данные, или в некоторых случаях, удостоверяются, что клиент проник через корректный канал, прежде, чем позволить манипулирование данными. Например, только позвольте добавлять объект к своей корзине, если запрос прибыл из страницы сведений о продукте. Если Вы не проверяете, любой может бездельничать с действием. URL был бы похож на http://server/cart/add/XYZ123, и любой мог просто настроить 'идентификационный' параметр.

2
ответ дан 6 December 2019 в 21:20
поделиться

Вот другая важная персона, чтобы не упустить: CSRF

http://blog.codeville.net/2008/09/01/prevent-cross-site-request-forgery-csrf-using-aspnet-mvcs-antiforgerytoken-helper/

1
ответ дан 6 December 2019 в 21:20
поделиться

Смотрите на это сообщение Phil Haack-один из dev’s MS, вовлеченного в разработку.

Дополнительно смотрите на Microsoft Anti-Cross Site Scripting Library для отфильтровывания всех входящих параметров

1
ответ дан 6 December 2019 в 21:20
поделиться
  1. Возможно, необходимо выбрать методы, которые могут быть, вызывают снаружи или нет. Например, будьте осторожны, заставляют метод любить, удаляют любые таблицы как http://yourhost.com/edit/deletealltable. Удостоверьтесь, что Вы разрабатываете свой класс и методы хорошо. И дайте атрибуты [Недействие] для предотвращения открытого метода быть, вызывают.

  2. Удостоверьтесь, что Вы отображаете данные (особенно чувствительные), поскольку Вы нуждаетесь с минимальным необычным дизайном и используете клиентский сценарий в качестве длинного по мере необходимости.

  3. Удалите любые неиспользованные файлы мусора как неиспользованные файлы в Вашей папке решения.

  4. Проверьте и проверьте дважды и проверьте любой элемент управления вводом как текстовое поле. Я просто могу дать что-то в текстовом поле для взламывания системы.
  5. При использовании соединения между MVC и обычным ASP.NET удалите любую зависимость между ними.
1
ответ дан 6 December 2019 в 21:20
поделиться

Убедитесь, что Вы покрываете основы полностью, независимо от ASP.NET. Удостоверьтесь, что Ваш DBMS имеет отдельного пользователя с минимальными требуемыми полномочиями (например, CRUD и выполняющийся sprocs от указанных баз данных) набор до доступа база данных из веб-приложения. Параметризация запросов является превосходной идеей, но ВСЕГДА ВЫЧИЩАЙТЕ СВОЙ ВХОД ТАК ИЛИ ИНАЧЕ: это не достаточная защита против внедрения SQL.

Содержите свой дизайн в чистоте и легкий понять. Документ вообще Вы делаете ясно, особенно на стороне базы данных. Это было бы очень плохо, если бы вся Ваша хорошая работа была уничтожена на два месяца программистов или несколько лет спустя - тот, кто не понял, скажем, что у пользователя базы данных для веб-приложения (теперь получающий доступ к базе данных по другому серверу) не должно быть полномочий пользователя root и другого, кто добавил управление, которое не чистило вход правильно. Существует только так, который может быть сделан об этом виде вещи, но разрабатывающий для возможности, что дураки будут поддерживать Ваш код, не то, так, чтобы кодеры думали, что Вы милы - это - так, чтобы дураки не разоряли Вас.

0
ответ дан 6 December 2019 в 21:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: