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