Развертывание приложения с Python или другим встроенным языком сценариев

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

Я думаю, что проще «просто» написать строку запроса SQL, объединив некоторые разные части (возможно, даже зависимые на некоторых логических проверках) вместе со значениями, которые нужно вставить. Он просто создает запрос и выполняет его. Другим преимуществом является то, что вы можете печатать (эхо, вывод или что-то еще) строку запроса sql, а затем использовать эту строку для ручного запроса к движку базы данных.

При работе с подготовленными операторами вы всегда имеете как минимум еще один шаг: вам нужно построить свой запрос (включая параметры, конечно). Вы должны подготовить запрос на сервере. Вы должны привязать параметры к фактическим значениям, которые вы хотите использовать для своего запроса. Вы должны выполнить запрос .

Это немного больше работает (и не так просто программировать), особенно для некоторых «быстрых и грязных» заданий, которые часто оказываются очень долговечными ...

С наилучшими пожеланиями ,

Коробка

18
задан John Smith 15 February 2009 в 17:46
поделиться

4 ответа

Свяжите свое приложение с библиотекой Python (pythonXX.lib в Windows) и добавьте следующее к Вашему основному () функция.

Py_NoSiteFlag = 1;  // Disable importing site.py
Py_Initialize();    // Create a python interpreter

Помещенный биты библиотеки стандарта Python Вы нуждаетесь в zip-файл (названный pythonXX.zip) и помещаете это и pythonXX.dll около исполняемого файла, который Вы распределяете. Взгляните на PyZipFile в zipfile модуль.

18
ответ дан 30 November 2019 в 07:56
поделиться

Процесс встраивания полностью документируется: Встраивание Python в Другом Приложении . Документы предлагают несколько уровней, на которых сделано встраивание, выберите любой, лучше всего соответствует Вашим требованиям.

А простая демонстрация встраивания Python может быть найдена в каталоге Demo/embed/исходного распределения.

демонстрация здесь , должен смочь создать из дистрибутива.

  • Очень Высокий уровень, Встраивающий
  • Вне Встраивания Очень Высокого уровня: Чистое Встраивание обзора
  • Расширение Встроенный Python
  • , Встраивающий Python в C++

Из стандартной библиотеки, можно выбрать компоненты, которые не несут слишком много зависимости.

8
ответ дан 30 November 2019 в 07:56
поделиться

Для расширения ответа gimel нет ничего, чтобы мешать Вам поставить python.dll, с помощью него, и установка a исправляет PYTHONPATH для использования собственной установки библиотеки стандарта Python. Они - просто библиотеки и файлы, и Ваш процесс установки может просто иметь дело с ними как таковой.

5
ответ дан 30 November 2019 в 07:56
поделиться

При поиске способа просто развернуть приложение Python Вы могли бы использовать Py2Exe. Это позволило бы Вашему приложению все зависимости, в которых требуется, не волнуя то, что или уже не установлено на пользовательской машине.

[Редактирование], Если Py2Exe является остановкой для встраиваемых приложений, Вы могли бы просто заставить свой установщик проверять на соответствующие файлы, и загрузка / устанавливают что-нибудь, что это пропускает? [/Редактирование]

[Edit2] Elmer мог быть тем, что Вы ищете? [/Edit2]

0
ответ дан 30 November 2019 в 07:56
поделиться
Другие вопросы по тегам:

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