| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 15103 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.view.migration">
- <title>Migration von vorhergehenden Versionen</title>
- <para>
- Dieses Kapitel dokumentiert primär Brüche in der Rückwärts-Kompatibilität die in Zend_View
- durchgeführt wurden, und sollte als Hilfe im Fall einer Migration von vorhergehenden
- Versionen dienen.
- </para>
- <sect2 id="zend.view.migration.zf5748">
- <title>Migration von Versionen vor 1.7.5</title>
- <para>
- Vor dem 1.7.5 Release wurde das Zend Framework Team darauf aufmerksam gemacht das eine
- potentielle Local File Inclusion (LFI) Schwäche in der <classname>Zend_View::render()</classname>
- Methode existiert. Vor 1.7.5, erlaubte die Methode standardmäßig, die Fähigkeit View
- Skripte zu spezifizieren die Schreibweisen für Eltern-Verzeichnisse enthalten (z.B.
- "../" oder "..\"). Das öffnet die Möglichkeit für eine LFI Attacke wenn ungefilterte
- Benutzereingaben an die <code>render()</code> Methode übergeben werden:
- </para>
- <programlisting role="php"><![CDATA[
- // Wobei $_GET['foobar'] = '../../../../etc/passwd'
- echo $view->render($_GET['foobar']); // LFI Einbruch
- ]]></programlisting>
- <para>
- <classname>Zend_View</classname> wirft jetzt standardmäßig eine Ausnahme wenn so ein View Skript
- angefragt wird.
- </para>
- <sect3 id="zend.view.migration.zf5748.disabling">
- <title>Ausschalten des LFI Schutzes für die render() Methode</title>
- <para>
- Da viele Entwickler gemeldet haben das Sie so eine Schreibweise in Ihren
- Anwendungen verwenden die <emphasis>nicht</emphasis> das Ergebnis einer
- Benutzereingabe sind, wurde ein spezielles Flag erstellt um das Deaktivieren des
- standardmäßigen Schutzes zu erlauben. Es gibt 2 Methoden um das Durchzuführen:
- Indem der 'lfiProtectionOn' Schlüssel in den Konstruktor-Optionen übergeben wird,
- oder durch den expliziten Aufruf der <code>setLfiProtection()</code> Methode.
- </para>
- <programlisting role="php"><![CDATA[
- // Ausschalten über den Konstruktor
- $view = new Zend_View(array('lfiProtectionOn' => false));
- // Ausschalten über expliziten Aufruf der Methode:
- $view = new Zend_View();
- $view->setLfiProtection(false);
- ]]></programlisting>
- </sect3>
- </sect2>
- </sect1>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|