Genau wie die Hardware einen Technologiesprung gemacht hat, hat das auch die Software getan. Es ist unter den neuen Betriebssystemen und mit den neuen modernen PHP-Versionen nicht mehr
möglich eine individuelle php.ini Datei zu konfigurieren. Was vor wenigen Jahren noch notwendig war ist heute nicht mehr nötig und auch in einigen Fällen nicht mehr möglich. Wenn man
veraltete Websoftware einsetzt, kann das in einigen Fällen zu Kompatibilitätsproblemen führen. Die PHP-Version ab 5.3.x ist nicht zu 100% Abwärtskompatibilität zur PHP 5.2.x. Die meisten
benötigten Direktiven kann man mittlerweile entweder in einer .htaccess Datei oder im PHP-Script selbst verändern.
Hier einige interessante Links rund um PHP:
https://php.net/manual/de/index.php
https://php.net/manual/de/ini.php
https://php.net/manual/de/ini.list.php
http://php-de.github.io/
http://php.net/manual/de/configuration.file.per-user.php
http://php.net/manual/de/ini.php
Hier einige der wichtigsten PHP-Direktiven und die Standardeinstellungen.
1. allow_url_open
Diese Option aktiviert URL-unterstützende fopen()-Wrapper, die es ermöglichen, auf URL-Objekte wie normale Dateien zuzugreifen. Standardwrapper werden für den Zugriff auf entfernte
Dateien über das FTP- und HTTP-Protokoll mitgeliefert, einige Extensions wie zlib registrieren eventuell weitere Wrapper.
Empfohlene Einstellung: ON
PHP Versionen: >PHP 4.0.4
Vorgegebene Standardeinstellung: ON
Einstellung kann folgendermaßen geändert werden:
Ticketsystem
2. allow_url_include
Ähnlich wie allow_url_fopen, allerdings betrifft diese Einstellung nicht das öffnen von Dateien, sondern das inkludieren (include(), require()) von Dateien. Nur funktional,
wenn allow_url_fopen auf aktiv ist.
Empfohlene Einstellung: OFF
PHP Versionen: > PHP 5.2.0
Vorgegebene Standardeinstellung: OFF
Einstellung kann folgendermaßen geändert werden:
Ticketsystem
3. disable_functions
Hier kann man eine, durch Komma separierte, Liste mit PHP-Funktionen eintragen deren Benutzung gesperrt sein soll. Wenn man sie nicht unbedingt benötigt, sollten hier alle
Funktionen eingetragen werden, die einen serverweiten Zugriff gestatten. Manche Funktionen, wie etwa exec(), sind vergleichbar mit einem Generalschlüssel für den Server.
Empfohlene Einstellung: escapeshellcmd, exec, ini_restore, passthru, popen, proc_nice, proc_open, shell_exec, system.
PHP Versionen: >PHP 4.0.1
Vorgegebene Standardeinstellung: no value
Einstellung kann folgendermaßen geändert werden:
Ticketsystem
4. display_errors
Während der Entwicklung einer Seite ist es zum debuggen unerlässlich sich PHP-Fehler auf der Seite anzeigen zu lassen. Im produktiven Einsatz sollte dies allerdings vermieden
werden. Fehlermeldungen sind nicht nur lästig und hinterlassen einen unprofessionellen Eindruck beim Sitebesucher sondern, und das ist viel wichtiger, geben Fehlermeldungen jedem
Angreifer wichtige Informationen über die Struktur und den Aufbau Ihres Scripts. Es erleichtert dem Angreifer Schwachstellen in Ihrer Anwendung zu entdecken um diese auszunutzen.
Empfohlene Einstellung: OFF
PHP Versionen: All
Vorgegebene Standardeinstellung: OFF
Einstellung kann folgendermaßen geändert werden:
Ticketsystem
5. open_basedir
Legt den Wirkungsbereich fest, in dem Sie mit PHP arbeiten können. Auf diese Art kann man verhindern, dass ein manipuliertes Script Zugriff auf gewisse Ordner oder ganze Bereiche
auf Ihrem Server erhält. Empfohlene Einstellung: Root Verzeichnis der Internetpräsenz (muss individuell, passend zum Server eingestellt werden. In der Regel ist das: /var/www/domain.tld/
Empfohlene Einstellung: Document root des Webs
PHP Versionen: ALL
Vorgegebene Standardeinstellung: Document root des Webs
Einstellung kann folgendermaßen geändert werden:
Ticketsystem
6. register_globals
Die Wurzel allen Übels, für die allermeisten Sicherheitslöcher in Webanwendungen! Ist diese Einstellung aktiv, werden Variablen aus GET und POST global verfügbar gemacht und überschreiben
damit ggf. andere Variablen mit dem selben Namen. Ist diese Einstellung deaktiviert, muss auf Eingaben von aussen explizit mit $_GET und $_POST zugegriffen werden.
Empfohlene Einstellung: OFF
PHP Versionen: seit PHP 5.3.0 veraltet (deprecated), ab PHP 5.4.0 entfernt
Vorgegebene Standardeinstellung: OFF
Einstellung kann folgendermaßen geändert werden:
Ticketsystem, nach Prüfung durch die Technik
7. safe_mode
Ist der Safe_Mode aktiviert, werden u.a. Berechtigungs-Prüfungen durchgeführt, ob die gewünschte Aktion von einem User durchführbar ist.
Beispiel: Wenn Sie eine Datei via FTP auf Ihren Server übertragen, bekommt diese Datei ein Vermerk das der FTP-Benutzer XYZ der Besitzer dieser Datei ist. Möchten wir nun diese Datei mit
PHP verändern, wird erst geprüft, ob dieser Zugriff vom Benutzer XYZ kommt oder nicht. Das kann bei PHP nicht der Fall sein, also wird der Zugriff auf die Datei verhindert. Umgekehrt
funktioniert das genauso. Dateien die per PHP auf den Server übertragen wurden, können nicht so ohne weiteres via FTP gelöscht oder verändert werden. Dieses Thema ist recht komplex und
wird sehr gut in jeder PHP Dokumentation erklärt. Sehen Sie hierzu auch:
http://php.net/manual/de
Empfohlene Einstellung: OFF
PHP Versionen: seit PHP 5.3.0 veraltet (deprecated), ab PHP 5.4.0 entfernt
Vorgegeben Standardeinstellung: OFF / wegen Sicherheitsrisiko
Einstellung kann folgendermaßen geändert werden:
Ticketsystem, nach Prüfung durch die Technik
8. memory_limit
Jede Erhöhung des php_memory_limits bedeutet eine DEUTLICHE und GRAVIERENDE Verschlechterung der Performence Ihres gesamten vServers/rServers. Seien Sie versichert dass es sich bei den vorgegebenen Werten um sinnvolle Vorgaben handelt. Die vorgegebene Bandbreite sollten Sie keinesfalls verlassen. Uns ist auch keine Software bekannt die dies zwingend erfordert.
"RAM ist gut" und "viel RAM ist viel gut" - das ist sicher richtig aber nicht in diesem Fall. Hier trifft nämlich genau das Gegenteil zu - denn hierdurch erhöhen Sie ja NICHT das physikalische RAM!
Grob gesagt - durch eine Verdopplung Ihres memory_limits HALBIEREN Sie die mögliche Useranzahl für Ihr Forum, eShop, CMS oder was auch immer. Hierdurch wird Ihr Server nicht "schneller"
sondern genau das Gegenteil. Sie sollten somit genau abwägen ob eine Erhöhung des memory_limits wirklich notwendig und sinnvoll ist.
Empfohlene Einstellung: 128M
PHP Versionen: All
Vorgegeben Standardeinstellung: 128M
Einstellung kann folgendermaßen geändert werden:
Ticketsystem
9. magic_quotes_gpc
Legt die magic_quotes Einstellungen für GPC (Get/Post/Cookie) fest. Ist diese Einstellung auf on, werden alle ' (einzelne Anführungszeichen), " (doppelte Anführungszeichen), \ (Backslash)
und NUL's automatisch mit einem Backslash geschützt.
Empfohlene Einstellung: OFF
PHP Versionen: seit PHP 5.3.0 veraltet (deprecated), ab PHP 5.4.0 entfernt
Vorgegebene Standardeinstellung: OFF
Einstellung kann folgendermaßen geändert werden:
Ticketsystem, nach Prüfung durch die Technik
10. register_long_arrays
Bestimmt, ob PHP die nicht mehr empfohlenen langen Varianten ($HTTP_*_VARS) der vordefinierten Variablen registrieren soll. Wenn On, dann werden PHP-Variablen wie $HTTP_GET_VARS definiert.
Wenn Sie diese nicht nutzen, empfehlen wir Ihnen, diese Option aus Gründen der Performance auf "off" zu setzen.
Empfohlene Einstellung: OFF
PHP Versionen: seit PHP 5.3.0 veraltet (deprecated), ab PHP 5.4.0 entfernt
Vorgegeben Standardeinstellung: OFF
Einstellung kann folgendermaßen geändert werden:
Ticketsystem, nach Prüfung durch die Technik
11. register_argc_argv
Bestimmt, ob die argv- & argc-Variablen deklariert werden sollen (betrifft die GET-Informationen).
Empfohlene Einstellung: OFF
PHP Versionen: All
Vorgegeben Standardeinstellung: OFF
Einstellung kann folgendermaßen geändert werden:
Ticketsystem
12. short_open_tag
Bestimmt, ob die Kurzform () des PHP-Öffnungs-Tags erlaubt werden soll. Wenn Sie PHP in Kombination mit XML benutzen wollen, dann deaktivieren Sie diese Option, um nutzen zu können.
Anderenfalls können Sie das Tag mit PHP ausgeben, z.B. . Wenn diese Option deaktiviert ist, müssen Sie die Langform des PHP-Öffnungs-Tags () benutzen.
Empfohlene Einstellung: ON
PHP Versionen: All
Vorgegeben Standardeinstellung: ON
Einstellung kann folgendermaßen geändert werden:
Ticketsystem
13. magic_quotes_runtime
Falls magic_quotes_runtime aktiviert ist, werden die meisten Funktionen die Daten von einer beliebigen externen Quelle zurückgeben, inklusive Datenbanken und Textdateien,
die in den Daten enthaltenen Anführungszeichen mit einem Backslash geschützt zurückgeben.
Empfohlene Einstellung: OFF
PHP Versionen: seit PHP 5.3.0 veraltet (deprecated), ab PHP 5.4.0 entfernt
Vorgegeben Standardeinstellung: OFF
Einstellung kann folgendermaßen geändert werden:
Ticketsystem
14. max_execution_time
Legt die maximale Zeit in Sekunden fest, die ein Skript laufen darf, bevor der Parser die Ausführung stoppt. Diese Einstellung hilft zu verhindern,
dass schlampig geschriebene Skripte Ihren Server lahmlegen. Der Standardwert für diese Einstellung ist 30 Sekunden.
Empfohlene Einstellung: 30
PHP Versionen: All
Vorgegeben Standardeinstellung: 30
Einstellung kann folgendermaßen geändert werden:
Ticketsystem
15. max_file_uploads
Setzt die maximal erlaubte Anzahl an gleichzeitig hochzuladenen Dateien.
Empfohlene Einstellung: 20
PHP Versionen: All
Vorgegeben Standardeinstellung: 20
Einstellung kann folgendermaßen geändert werden:
Ticketsystem
16. output_buffering
Gibt die maximale Größe an Bytes bzw. Verfügbarkeit des Buffers für Scripte an.
Empfohlene Einstellung: 4096
PHP Versionen: All
Vorgegeben Standardeinstellung: 4096
Einstellung kann folgendermaßen geändert werden:
Ticketsystem
17. post_max_size
Setzt die maximal erlaubte Größe von POST-Daten. Diese Option betrifft auch den Datei-Upload.
Empfohlene Einstellung: 48M
PHP Versionen: All
Vorgegeben Standardeinstellung: 48M
Einstellung kann folgendermaßen geändert werden:
Ticketsystem
18. upload_max_size
Setzt die maximal erlaubte Größe von Dateien, die hochgeladen werden.
Empfohlene Einstellung: 32M
PHP Versionen: All
Vorgegeben Standardeinstellung: 32M
Einstellung kann folgendermaßen geändert werden:
Ticketsystem