| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 15617 -->
- <!-- 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 language="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 language="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:
- -->
|