Hauptmenü

Untermenü

Einführung - Das Testsystem - PHP

1. Die Datei

... lautet php.ini. Klingt auch ziemlich logisch. Nur leider gibt es da ein Problem. Speziell unter einer normalen Linux-Installation. Da gibt es nämlich mindestens zwei davon. Manchmal auch noch mehr. Unter der aktuellen openSuSE liegt die wichtige Datei unter /etc/php5/apache2. Beim XAMPP findet ihr sie unter xampp\php.

2. Die Konfiguration

Hier solltet ihr nicht wie die Blöden wild drauf los konfigurieren, sondern nur die Punkte anpassen, deren Wert von den sonst üblichen abweicht. Und was sind das jetzt für Einstellungen, werden sich sicher viele fragen. Nun diese Frage ist relativ leicht zu beantworten, wenn ihr bereits eine Domain bei einem Provider laufen habt. Legt eine Datei namens info.php an, ladet sie hoch und ruft sie im Browser auf. Dann könnt ihr die Einstellungen für die folgenden Punkte sehen. Ach ja, die Datei selber hat folgenden Inhalt:


<?php
  phpinfo();
?>

Allerdings werde ich nur auf die wichtigsten Punkte eingehen. Wenn ihr erst mal nur Trockenübungen zu Hause machen wollt, haltet euch einfach an meine Ratschläge.

3. Die Einstellungen

allow_url_fopen

Hiermit legt man fest, ob externe Dateien über ein Protokoll wie HTTP angesteuert, also zum Beispiel eingelesen werden können oder nicht. Der Standardwert ist On. Allerdings haben viele Provider aus Sicherheitsgründen hier ein Off stehen. Darum empfehle ich euch auch letztere Variante.

allow_url_include

Hat fast dieselbe Aufgabe wie allow_url_fopen. Nur geht es hier um die Einbindung von externen Dateien per include. Der Standardwert ist Off und sollte auch so bleiben.

display_errors, display_startup_errors

Hier geht um die Anzeige von Fehlern, die der PHP-Parser ausgibt. Details dazu findet ihr hier. Und egal welche Einstellung euer Provider hat, hier werden beide auf On gestellt. Also keine Widerworte!

error_reporting

Hier wird festgelegt, welche Fehler angezeigt werden. Weitere Infos findet ihr bei dem Link unter obigem Punkt. Wer mit normaler Programmierung anfängt, sollte E_ALL einstellen. Das zwingt zu sauberer Programmierung. Fortgeschrittene, die in die OOP einsteigen wollen, sollten dagegen E_STRICT nehmen. Da muss man noch sauberer programmieren.

file_uploads

Legt fest, ob Dateien über ein Formular hochgeladen werden dürfen. Der Standardwert ist On und kann auch so bleiben.

magic_quotes_gpc

Hierbei handelt es sich um eine Sicherheitseinstellung (siehe dazu dieses Tutorial), die auf jeden Fall auf On stehen sollte.

max_execution_time

Hier gibt man an, wie viele Sekunden ein Script laufen darf, bevor es beendet wird. Der Standardwert ist 30, allerdings solltet ihr auf jeden Fall die Einstellung eures Providers übernehmen.

memory_limit

Legt die Größe des Arbeitsspeichers fest, die PHP verbrauchen darf. Hier solltet ihr ebenfalls den Wert nehmen, den eurer Provider vorgegeben hat. Ansonsten stellt einfach mal 32M für 32 Megabyte ein.

register_globals

Ist sehr oft ein, nein das Thema in diversen Foren. Dabei geht es darum, wie zum Beispiel die Inhalte von Formularfeldern verarbeitet werden. In den alten Tagen von PHP 4.0 abwärts konnte man auf den Inhalt des Formularfeldes bla mit der Variable $bla zugreifen. Auf Grund der daraus resultierenden Sicherheitslücken wurde das Konzept mit der Version 4.1 überarbeitet und ist seit 4.2 Standard. Dabei kann man nur noch mit $_POST['bla'] den Inhalt des oben genannten Feldes auswerten. Damit ihr später keine bösen Überraschungen erlebt, stellt in der php.ini also bitte bei register_globals den Wert auf Off.

safe_mode

Steht dort der Wert On, so kann man über Domaingrenzen nicht auf andere Dateien zugreifen. Da dies auch eine Standardeinstellung ist, achtet darauf, dass obiger Eintrag stimmt, ansonsten passt ihn bitte an.

4. Ein wichtiger Hinweis

Mit der Version 5.4 von PHP werden die Punkte register_globals, magic_quotes_gpc und safe_mode komplett entfallen. Der Sinn dahinter ist, dass sich nicht das System um bestimmte Dinge kümmern soll, sondern herrgottverdammtnochmal der verfluchte Programmierer.

Wer sich also für die da kommende Version stählen möchte, sollte alle drei Einstellungen mit dem Wert Off versehen. Und sich im Bezug auf magic_quotes_gpc und safe_mode über die daraus resultierenden Schwachstellen für mögliche Hackerattacken informieren.

zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt