OGNL - OGNL
Vývojáři | Technologie OGNL |
---|---|
Stabilní uvolnění | 3.0.8 / 24. září 2013 |
Napsáno | Jáva |
Operační systém | Cross-platform |
Plošina | Virtuální stroj Java |
Typ | Expression Language (EL) |
Licence | Licence BSD |
webová stránka | http://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
- Webová práce a jeho nástupce Vzpěry 2
- Gobelín (4 a starší)
- Jarní webový tok
- Apache Click
- MyBatis - SQL mapper framework
- The Thymeleaf - Java XML / XHTML / HTML5 stroj šablony
- FreeMarker - Modul šablony Java
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
- OGNL 3.x větev údržby
- Domovská stránka OGNL 4.x (Apache)
- Chyba zabezpečení Apache Struts CVE-2013-2134 OGNL Expression Injection
Reference
- ^ "ognl.org", OGNL Technology, Inc., archivovány z originál dne 25. října 2008, vyvoláno 5. listopadu 2013
- ^ „OpenSymphony, RIP (2000 - 2011)“. Otevřete Symphony. Archivovány od originál dne 5. září 2013. Citováno 1. června 2011.
- ^ „Apache Struts: Seznam bezpečnostních chyb zabezpečení“. cvedetails.com. Citováno 2. října 2017.
- ^ „Vydání Apache Struts“. struts.apache.org. Citováno 2. října 2017.
- ^ 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.
Tento programovací jazyk související článek je a pahýl. Wikipedii můžete pomoci pomocí rozšiřovat to. |