I samband med en säkerhetsrevision nyligen har vi blivit uppmanade att använda tillägget Suhosin som ger ett extra skyddslager för oss som har PHP installerat på servern.

Suhosin ser till att även dåligt skriven kod

Här hittar du hela featurelistan:
Hardened-PHP Project - PHP Security - Feature List

Installationen är så pass enkel att du borde genomföra den idag. Vi har installerat Suhosin på våra servrar.

Så här installerar du Suhosin för Mac OS X 10.5 Leopard på Intel QuadCore
Observera att installationen skiljer sig för 10.4 Server och för annan hårdvara (PowerPC)

1. Börja med att ladda ner Suhosin Extension:
Hardened-PHP Project - PHP Security - Suhosin Downloads

2. Packa upp filen.

3. Starta terminalen och gå till mappen.
Om den ligger i "Hämtade filer" och ditt användarkonto heter "admin" så skriver du:

cd /Users/admin/Downloads/Suhosin

och sen klickar du "tab" så läggs resten av namnet till automatiskt.

4. Logga in som root genom att skriva:

sudo -s

5. Dags att börja kompilera!

Först förbereder vi för att kompilera ihop med den PHP version vi använder:

phpize

Sen gör vi en specialare för att kompilera på Intel x64 som krävs för att kunna köras på Xserve Intel Quadcore:

MACOSX_DEPLOYMENT_TARGET=10.5 CFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp" CCFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe" CXXFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe" LDFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -bind_at_load" ./configure

Dags att kompilera:

make

Och installera

make install

6. Det sista vi gör är att lägga till tillägget (extension) i din php.ini:

Gå till /etc/php.ini
Skriv: pico php.ini

Längst upp i php.ini lägger du till:

extension = suhosin.so
suhosin.cookie.encrypt = Off
suhosin.memory_limit = 32M
suhosin.session.encrypt = Off
suhosin.log.sapi = 511
suhosin.get.max_value_length = 1024
suhosin.request.max_vars = 2048
suhosin.post.max_vars = 2048

7. Starta om Webservern genom Server Admin eller genom att skriva:
apachectl graceful

Klart!