Ищу экранирование символов для запроса БД. Поскольку это сложный механизм (и его тоже можно взломать), кажется очевидным, что я не хочу его переписывать ...
Я видел, что в классе JSON_STRING есть что-то для экранирования STRING_8 (unescape_to_string_8), есть ли что-то сопоставимое для строк БД (необходимость в postgresql)?
@RaymondNijland Не понимаю вашего вопроса
Вы пометили вопрос с помощью eiffel .. Итак, предположим, вы используете эту структуру?
@RaymondNijland thx, я хорошо владею английским, даже если мой родной язык французский. На ваш вопрос, конечно, он использует ISE Eiffel Framework, и я ссылаюсь на него
"Я хорошо владею английским, даже если мой родной язык французский" Хорошо, тогда я ничего не сказал
В этом случае я не мог найти ничего, что подтверждает, что eiffel использует подготовленные операторы для защиты от SQL-инъекций.
Как насчет аргумента dynamic
функции DATABASE.parse
? Мне кажется, что когда это True
, значения аргументов берутся из таблицы, а оператор SQL использует параметры, а не встроенные значения, поэтому внедрение невозможно.
@AlexanderKogtenkov, извините, что связался с вами, потому что я не нашел другого способа, не могли бы вы создать теги once
и EWF
, редактируя мои последние вопросы, я все еще не читал 2K !?
Не существует специального класса для обработки кодировки БД для PostgreSQL. В EiffelStore есть что-то похожее на подготовленные операторы для привязки переменные запроса.
Проверьте следующую статью о EiffelStore и SQLInjection
Забыл упомянуть Под вашей установкой EiffleStudio вы найдете код с примерами SQL-инъекция.
$ ISE_EIFFEL / библиотека / магазин / тест / eiffel_store
Вы можете обновить примеры, чтобы проверить свою целевую базу данных.
я полагаю, это правильная структура? eiffel.org/doc/solutions/EiffelWeb_framework