O'Reilly logo

PHP-Sicherheit: PHP/MySQL-Webanwendungen sicher programmieren by Stefan Esser, Christopher Kunz

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

25911.4 Zusammenarbeit mit anderen Zend-Extensions
11.4 Zusammenarbeit mit anderen Zend-Extensions
Im Gegensatz zum Hardening-Patch ist Suhosin 100% binärkompati-
bel zu normalen PHP-Versionen. Kommerzielle Zend-Engine-Extensi-
ons wie die Produkte der Firma Zend (Zend Accelerator, Zend Studio
Server, Zend Caching Suite etc.) lassen sich daher laden, was in Harde-
ned-PHP nicht möglich war. Grundsätzlich ist Suhosin also kompati-
bel zu diesen binären Erweiterungen, auch wenn diese teilweise
Anstrengungen unternehmen, keine anderen Extensions neben sich zu
dulden. Die Firma ionCube, die den ionCube PHP Encoder entwickelt,
macht dies zum Beispiel, weil sie Open-Source-Erweiterungen für nicht
vertrauenswürdig hält. Aus diesem Grund besitzt Suhosin einen Modus,
in dem es sich unsichtbar für andere Zend-Extensions lädt. Dieser ist
standardmäßig aktiv.
Unglücklicherweise sind die binären Extensions oftmals so
geschrieben, dass sie nicht die API der Zend Engine benutzen, sondern
direkt auf die internen Strukturen zugreifen. Dies kann natürlich zu
Inkompatibilitäten führen. Aus diesem Grund wurde Suhosin so ent-
wickelt, dass möglichst wenige Berührungspunkte mit anderen Exten-
sions existieren, damit Inkompatibilitäten vermieden werden. Dafür
gibt es allerdings, wie immer wenn Produkte verschiedener Hersteller
gleichzeitig eingesetzt werden, keine Garantie.
Momentan sind den Entwicklern keine Inkompatibilitäten zu den
aktuellen Versionen der gängigen Erweiterungen wie APC, eAccelera-
tor, XCache, ionCube und den Zend-Produkten bekannt. In der Ver-
gangenheit hat der Suhosin-Patch allerdings zu Problemen mit dem
Zend Optimizer geführt, weil der Zend Optimizer auf bereits wieder
freigegebenen Speicher zugegriffen hat. Dieses Problem wurde mittler-
weile von Zend behoben.
Abb. 11–2
Suhosin-Extension in
phpinfo()

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required