OGNL - OGNL

OGNL
VývojářiTechnologie OGNL
Stabilní uvolnění
3.0.8 / 24. září 2013 (2013-09-24)
NapsánoJáva
Operační systémCross-platform
PlošinaVirtuální stroj Java
TypExpression Language (EL)
LicenceLicence BSD
webová stránkahttp://commons.apache.org/ognl/

Jazyk navigace objektovým grafem (OGNL) je open-source Expression Language (EL) pro Jáva, který, i když používá jednodušší výrazy než celá řada podporovaných jazykem Java, umožňuje získávání a nastavování vlastností (prostřednictvím definovaných metod setProperty a getProperty, které najdete v JavaBeans ) a provádění metod tříd Java. Umožňuje také jednodušší manipulaci s poli.

Je určen k použití v Java EE aplikace s taglibs jako výrazový jazyk.

OGNL vytvořili Luke Blanshard a Drew Davidson z Technologie OGNL.[1] Vývoj OGNL pokračoval OpenSymphony, která byla uzavřena v roce 2011.[2] OGNL je nyní vyvíjen jako součást Apache Commons.

Technologie OGNL

OGNL začal jako způsob mapování asociací mezi front-end komponentami a back-end objekty pomocí názvů vlastností. Vzhledem k tomu, že tato sdružení shromáždila více funkcí, vytvořil Drew Davidson kódovací jazyk klíč-hodnota (KVCL). Luke Blanshard poté znovu implementoval KVCL pomocí ANTLR a začal používat název OGNL. Technologie byla znovu implementována pomocí kompilátoru Java Compiler (JavaCC ).

OGNL používá Javu odraz a introspekce oslovit Objektový graf běhové aplikace. To umožňuje programu změnit chování na základě stavu grafu objektu namísto spoléhání se na nastavení času kompilace. Umožňuje také změny v grafu objektu.

Projekty využívající OGNL

Problémy se zabezpečením OGNL

Vzhledem ke své schopnosti vytvářet nebo měnit spustitelný kód je OGNL schopen zavést kritické bezpečnostní chyby do jakéhokoli rámce, který jej používá.[Citace je zapotřebí ] Násobek Apache Struts 2 verze byly citlivé na bezpečnostní chyby OGNL.[3] Od října 2017 je doporučená verze Struts 2 2.5.13.[4] Uživatelé jsou nuceni upgradovat na nejnovější verzi, protože starší revize dokumentují chyby zabezpečení - například Struts 2 verze 2.3.5 až 2.3.31 a 2.5 až 2.5.10 umožňují vzdáleným útočníkům spustit libovolný kód.[5]

Viz také

externí odkazy

Reference

  1. ^ "ognl.org", OGNL Technology, Inc., archivovány z originál dne 25. října 2008, vyvoláno 5. listopadu 2013
  2. ^ „OpenSymphony, RIP (2000 - 2011)“. Otevřete Symphony. Archivovány od originál dne 5. září 2013. Citováno 1. června 2011.
  3. ^ „Apache Struts: Seznam bezpečnostních chyb zabezpečení“. cvedetails.com. Citováno 2. října 2017.
  4. ^ „Vydání Apache Struts“. struts.apache.org. Citováno 2. října 2017.
  5. ^ Goodin, Dan (9. března 2017). „Kritická zranitelnost při„ masivním “útoku ohrožuje weby s vysokým dopadem [Aktualizováno]“. Ars Technica. Citováno 2. října 2017.