Programmer's Reference Guide

Zend_View_Abstract

Migration von vorhergehenden Versionen

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.

Migration von Versionen vor 1.7.5

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 Zend_View::render() 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 render() Methode übergeben werden:

  1. // Wobei $_GET['foobar'] = '../../../../etc/passwd'
  2. echo $view->render($_GET['foobar']); // LFI Einbruch

Zend_View wirft jetzt standardmäßig eine Ausnahme wenn so ein View Skript angefragt wird.

Ausschalten des LFI Schutzes für die render() Methode

Da viele Entwickler gemeldet haben das Sie so eine Schreibweise in Ihren Anwendungen verwenden die nicht 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 setLfiProtection() Methode.

  1. // Ausschalten über den Konstruktor
  2. $view = new Zend_View(array('lfiProtectionOn' => false));
  3.  
  4. // Ausschalten über expliziten Aufruf der Methode:
  5. $view = new Zend_View();
  6. $view->setLfiProtection(false);

Zend_View_Abstract
blog comments powered by Disqus

Select a Version

Languages Available

Components

Search the Manual