Используя динамическую библиотеку LINQ (ссылка), она уязвима для инъекций? и (если да), как это можно защитить от?
Некоторые предпосылки из Вопросы безопасности (платформа Entity Framework):
LINQ to Entities:
Хотя состав запросов возможен в LINQ to Entities, это выполняемых через API объектной модели. В отличие от SQL запросов SQL, Запросы LINQ to Entities не составлены с помощью строковых манипуляций или конкатенации, и они не восприимчивы к традиционному SQL инъекции.
Поскольку динамический SQL составлен с использованием строк, значит ли это, что он может быть восприимчивым к инъекционным векторам? Или LINQ to SQL автоматически позаботится о параметризации ваших значений на основе базового типа данных в библиотеке Dynamic LINQ?
Или это полностью безопасно, поскольку динамический запрос будет выполняться в памяти, а не в SQL (тем самым отрицая любые преимущества от индексов SQL)?
Я работал с пониманием кода DynamicLibrary.cs
, но я уверен, что я мог бы легко что-то пропустить.
Поскольку этот вопрос касается самой библиотеки Dynamic LINQ, этот вопрос можно рассматривать как применимый как к linq-to-sql
, так и к linq-to-entities
(несмотря на ссылку на Entity Framework).