Что такое некоторые требования, чтобы IronScheme не мог завершиться?

Кажется, существует некоторый беспорядок в этом потоке об определении "параметризированного запроса".

  • SQL, такой как сохраненный proc, который принимает параметры.
  • SQL, который называют с помощью набора Параметров DBMS.

, Учитывая бывшее определение, многие из шоу ссылок, работающего нападения.

, Но "нормальное" определение последний. Учитывая, что определение, я не знаю ни о какой атаке с использованием кода на 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();
}
5
задан leppie 2 November 2009 в 04:52
поделиться

1 ответ

Первоначально одним из самых больших ограничений была возможность создавать сборки. Я считаю, однако, что они все же решили эту проблему.

Во-вторых, я запросил поддержку хвостовых вызовов, но этого не произошло, и это абсолютно необходимо для Scheme.

Наконец *, DLR казался очень ориентированным на Python и имел тонны функциональности, не требующейся для Scheme (например, среды первого класса), которые просто замедляют работу и предотвращают дальнейшую оптимизацию.

В любом случае, план для версии 2 состоит в том, чтобы переписать компилятор в Scheme, а затем либо перейти на базовый уровень с Reflection. Выпустить или использовать не ориентированный на язык «ассемблер», такой как CCI.

8
ответ дан 14 December 2019 в 04:41
поделиться
Другие вопросы по тегам:

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