Кажется, существует некоторый беспорядок в этом потоке об определении "параметризированного запроса".
, Учитывая бывшее определение, многие из шоу ссылок, работающего нападения.
, Но "нормальное" определение последний. Учитывая, что определение, я не знаю ни о какой атаке с использованием кода на SQL, которая будет работать. Это не означает, что нет один, но я должен все же видеть его.
Из комментариев, я не выражаюсь достаточно ясно, таким образом, вот пример, который, надо надеяться, будет более ясным:
Этот подход открыт для Внедрения SQL
exec dbo.MyStoredProc 'DodgyText'
, Этот подход не открыт для Внедрения SQL
using (SqlCommand cmd = new SqlCommand("dbo.MyStoredProc", testConnection))
{
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter newParam = new SqlParameter(paramName, SqlDbType.Varchar);
newParam.Value = "DodgyText";
.....
cmd.Parameters.Add(newParam);
.....
cmd.ExecuteNonQuery();
}
Первоначально одним из самых больших ограничений была возможность создавать сборки. Я считаю, однако, что они все же решили эту проблему.
Во-вторых, я запросил поддержку хвостовых вызовов, но этого не произошло, и это абсолютно необходимо для Scheme.
Наконец *, DLR казался очень ориентированным на Python и имел тонны функциональности, не требующейся для Scheme (например, среды первого класса), которые просто замедляют работу и предотвращают дальнейшую оптимизацию.
В любом случае, план для версии 2 состоит в том, чтобы переписать компилятор в Scheme, а затем либо перейти на базовый уровень с Reflection. Выпустить или использовать не ориентированный на язык «ассемблер», такой как CCI.