Веб-сайты и базы данных - PullRequest
1 голос
/ 25 августа 2010

Каковы последствия для безопасности доступа веб-сайтов к представлениям базы данных вместо использования хранимых процедур? Рассматриваемые взгляды только читаются; не написано.

Редактировать

Указанные приложения ASP.Net MVC 2, использующие Entity Framework (v.4).

Ответы [ 2 ]

2 голосов
/ 25 августа 2010

Одно из следствий безопасности - возможно, самое большое: представления оставляют вас открытыми для тех же SQL-инъекций недостатков, которые имеет прямой доступ к таблицам, если вы строите оператор SELECT на основе пользовательского ввода.

Это все, и только если вы основываете свой SQL-запрос на вводе. Если у вас просто статичное представление и вы никогда не фильтруете и не сортируете на основе входных данных, просто выбираете поля в представлении, вы не безопаснее и не менее безопасны с хранимой процедурой, которая возвращает те же результаты без параметров.

Кроме этого, использование хранимых процедур, на мой взгляд, просто хорошая привычка, и в SQL Server вы получаете функции оптимизации из хранимых процедур, но это не связано с безопасностью.

0 голосов
/ 17 июля 2015

Представления вообще не открывают вас для инъекционных атак. Плохой код делает это. Даже если вы используете хранимые процедуры с использованием объединенного / встроенного SQL-кода, это для вас не проблема.

Используйте готовые заявления. С тобой все будет в порядке. Представления работают в 100 раз проще, чем отладка уродливых хранимых процедур.

...