Обеспечение ASP.NET контрольный список приложения MVC

Более безопасно использовать *arguments.callee.caller, так как arguments.caller , удержал от использования ...

7
задан Lukasz 22 July 2009 в 22:53
поделиться

4 ответа

  1. Как всегда, убедитесь, что вы правильно кодировать вывод - обратите внимание, что я здесь говорится кодировать, а не HtmlEncode. Если вы выводите содержимое в HTML, тогда вы хотите используйте Html.Encode - однако, если вы вывод в JavaScript, тогда вы хотите использовать кодировку JavaScript функция. - Это поможет вам против Cross Site Scripting (XSS)
  2. Используйте помощники, которые помогают против CSRF-атак там, где это необходимо (или, может быть, просто везде)
  3. В зависимости от того, как вы получаете доступ к своему хранилищу данных, если это база данных SQL, не забудьте защитите себя от SQL-инъекций, используя параметризованные запросы, хранимые процедуры, LINQ или что-то еще.
  4. Когда вы тестируете - убедитесь, что ваши тестовые данные содержат изворотливые выходные данные (вещи, в которых не удается вызвать Html.Encode, легко проявится, возможно, через XSS здесь! , то же самое касается вещей, которые внедряются в JavaScript, появляются ошибки! )
  5. При привязке модели используйте подход белого списка для свойств, чтобы пользователи не могли сделать свойства привязки привязки, которые не предназначены для привязки!
5
ответ дан 7 December 2019 в 05:26
поделиться

Ниже приведены общие меры ASP.NET

  1. Установить Debug = false в web.config
  2. Включить настраиваемую ошибку
  3. Шифровать файлы cookie
  4. Проверить все входные данные
  5. Включить проверку запроса
  6. Закодируйте свой вывод
1
ответ дан 7 December 2019 в 05:26
поделиться

Я делаю следующее;

  1. Разделите мои опасения. Админ в папка администратора и т. д.
  2. [Разрешить] для всех действий, которые требуется, чтобы вы вошли в систему.
  3. Html.Encode все поля ввода данных.
  4. ActionResult Create ([Bind (Prefix = "", Exclude = "id")] MyModel newModelObject) <== exclude id, которые могут быть использованы в атаке

Кроме этого ...

1
ответ дан 7 December 2019 в 05:26
поделиться

Не используйте значение по умолчанию GET для действий без крайней необходимости. Например, если у вас есть действие DeleteUser , в котором нет [AcceptVerbs (HttpVerbs.Post)] , его можно вызвать через

<img src="http://yoursite/admin/DeleteUser/1" /> 

, который будет вызван тем, кто "просматривает" изображение.

1
ответ дан 7 December 2019 в 05:26
поделиться
Другие вопросы по тегам:

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