Короткая заметка о внедренном SQL-коде (SQL injection), точнее о его вреде. Внедрение SQL — это брешь в системе безопасности Oracle, которая возникает, когда разработчик принимает данные, введенные конечным пользователем, объединяет их с запросом, затем компилирует и выполняет получившийся запрос. На самом деле разработчик принимает от конечного пользователя фрагменты SQL-кода, компилирует их и выполняет.
Такой прием потенциально позволяет конечному пользователю модифицировать SQL-операторы так, чтобы он делал то, что разработчик оператора не намеревался. Это очень похоже на ситуацию, когда оставляют терминал с открытым сеансом SQL*Plus, который был подключен с привилегиями пользователя SYSDBA. Тем самым вы приглашаете кого угодно сесть и ввести любую команду, скомпилировать ее и затем выполнить. Последствия могут оказаться катастрофическими.