Разработчик(и) | Корпорация Оракул |
---|---|
Стабильный релиз | 24.2 / 15 января 2025 г. ( 2025-01-15 ) |
Операционная система | Windows , Linux , Oracle Solaris, HP-UX, IBM AIX [1] |
Лицензия | Техническая сетевая лицензия Oracle ( собственная [2] ) |
Веб-сайт | apex.oracle.com |
Oracle APEX (Oracle Application Express) — это платформа разработки приложений с низким кодом, разработанная корпорацией Oracle . APEX используется для разработки и развертывания облачных , мобильных и настольных приложений . Он имеет веб- интегрированную среду разработки (IDE), которая включает в себя такие инструменты, как мастера , конструкторы макетов с функцией перетаскивания и редакторы свойств.
APEX — это функция Oracle Database . Это часть Oracle Cloud в Autonomous Database Cloud Services и автономная служба разработки приложений APEX. [3]
С момента своего создания в 2000 году название Oracle APEX менялось, в том числе:
APEX был создан разработчиком Oracle Майклом Хичвой после его более раннего проекта WebDB. При создании внутреннего веб-календаря Хичва сотрудничал с коллегой-сотрудником Oracle Джоэлом Каллманом для разработки Flows. Вместе они совместно разрабатывали веб-календарь, добавляя функции в Flows по мере необходимости для разработки календаря. Ранние сборки Flows не имели интерфейса, поэтому все изменения в приложении вносились в SQL Plus с помощью команд вставки, обновления и удаления. [8]
В версии 5.2 система нумерации была изменена для приведения ее в соответствие с годом и кварталом выпуска, и она была переименована в 18.1. Это изменение соответствует изменению Oracle в номенклатуре нумерации.
Oracle APEX — это платформа разработки с малым объемом кода, тип среды, берущий свое начало от языков программирования четвертого поколения и инструментов быстрой разработки приложений (RAD).
APEX позволяет пользователям создавать веб-приложения с графическим пользовательским интерфейсом " без кода ". Однако, когда требования более сложные, APEX позволяет расширять объекты с низким кодом через декларативный фреймворк. Этот фреймворк позволяет разработчику определять пользовательскую логику, бизнес-правила и пользовательские интерфейсы. Разработчик может сделать это посредством включения SQL , PL/SQL , HTML , JavaScript или CSS , а также подключаемых модулей APEX. [9] [10]
Приложения APEX подвержены тому же уровню рисков безопасности приложений , что и другие веб-приложения, созданные на основе более прямых технологий, таких как PHP , ASP.NET и Java . Однако, начиная с APEX 4.0, интерфейс Application Builder включает утилиту под названием Advisor, которая обеспечивает базовую оценку состояния безопасности приложения.
Две основные уязвимости, влияющие на приложения APEX, — это SQL-инъекции и межсайтовый скриптинг (XSS) . [11]
SQL-инъекция
Приложения APEX по своей сути используют конструкции PL/SQL в качестве базового языка на стороне сервера и получают доступ к данным через блоки PL/SQL. [12] Приложение APEX будет использовать PL/SQL для реализации авторизации и условного отображения элементов веб-страницы. Из-за этого приложения APEX могут пострадать от SQL-инъекции, когда эти блоки PL/SQL некорректно проверяют и обрабатывают вредоносный пользовательский ввод. [13]
Oracle реализовал специальный тип переменных для APEX, называемый Substitution Variables (с синтаксисом "&NAME."); однако они небезопасны и могут привести к SQL-инъекциям. Когда инъекция происходит в блоке PL/SQL, злоумышленник может внедрить произвольное количество запросов или операторов для выполнения. Экранирование специальных символов и использование переменных связывания может уменьшить, но не устранить уязвимости XSS и SQL-инъекций.
Межсайтовый скриптинг (XSS)
Уязвимости XSS возникают в приложениях APEX, как и в других языках веб-приложений . Чтобы противостоять этому, Oracle предоставляет функцию htf.escape_sc() для замены буквенных символов на имена сущностей HTML и избегания нежелательного поведения. [14]
Разработчик может использовать схемы авторизации для управления доступом к ресурсам, таким как страницы и элементы в приложении APEX. Для обеспечения надлежащей безопасности эти схемы должны последовательно применяться ко всем соответствующим ресурсам. Примером непоследовательного управления доступом является случай, когда схема авторизации применяется к элементу кнопки, но не к процессу, связанному с этой кнопкой. Эта непоследовательность может позволить пользователю запустить процесс напрямую через JavaScript, полностью минуя кнопку.
Разработчики могут улучшать и расширять приложения APEX, используя сторонние библиотеки. Среди них JQuery Mobile (пользовательский интерфейс на основе HTML 5), [15] JQuery UI (пользовательский интерфейс для веб-сайта), [16] AnyChart ( диаграммы JavaScript / HTML 5 ), [17] CKEditor (веб-текстовый редактор), [18] и другие. Oracle утверждает, что применение последних исправлений APEX гарантирует, что внешние библиотеки, входящие в комплект платформы, обновляются в тандеме, что теоретически повышает стабильность и безопасность приложения. [19] Однако многие библиотеки обновляются чаще, чем выпускаются исправления APEX, что требует от разработчиков отслеживать и вручную применять обновления по мере необходимости для поддержания совместимости и безопасности. [20] [21]
Oracle APEX может быть запущен внутри Oracle Database Express Edition (XE), бесплатной базы данных начального уровня. Хотя функциональность APEX не ограничена намеренно при запуске в XE, ограничения ядра базы данных могут помешать работе некоторых функций APEX. Кроме того, Oracle XE имеет ограничения на использование ЦП , памяти и диска. [22]
{{cite web}}
: CS1 maint: url-status ( ссылка ){{cite web}}
: CS1 maint: url-status ( ссылка )Майкл Хичуа — оригинальный разработчик и архитектор Oracle Application Express (APEX), также известного как HTML DB. Майкл создал APEX как 100% переписанный им же более ранний инструмент разработки приложений на основе браузера, который он также создал, называемый Oracle WebDB. Он получил неоценимую техническую помощь и руководство от Тома Кайта и Джоэла Каллмана в качестве соразработчика. Майкл и Джоэл возглавляли разработку APEX с 1999 года