SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 30.11.2005, 17:38:44
schwierle schwierle ist offline
Anfänger
 
Registriert seit: Nov 2005
Beiträge: 7
include Befehl absichern

Hallo,

ich habe ein Problem. Auf meiner Seite sollen an einer Stelle per include die Seiten eingefügt werden. Das Problem dabei ist, das das per link geschehen muss. also index.php?mod=ersteseite.html oder sowas. Jetzt könnte ja jemand an die Stelle einfach eine Datei auf einem anderen Server nehmen und das skript würde diese auslesen und ausführen, oder nicht?

Wie kann ich verhindern, dass er aus meinem Server hinausgeht, also externe Links annimmt. Indem ich den String untersuchen lasse nach nummern, oder nach www oder ähnlichen dingen?

mfg Schwierle
Mit Zitat antworten
  #2  
Alt 30.11.2005, 17:46:46
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: include Befehl absichern

da:

http://www.php-faq.de/q/q-security-variablen.html

punkt 4.

Geändert von feuervogel (30.11.2005 um 17:48:19 Uhr)
Mit Zitat antworten
  #3  
Alt 30.11.2005, 19:12:37
schwierle schwierle ist offline
Anfänger
 
Registriert seit: Nov 2005
Beiträge: 7
AW: include Befehl absichern

Hi, danke für die schnelle Antwort. Leider ist es nicht möglich einfach Pfade herauszulassen, da pfade auch in der form ./test.php oder sonstirgendwas vorkommen können. Ich habe daraufhin aber eine Idee gehabt, indem ich einen kompletten pfad zusammenbastel und dann prüfe, ob die Datei existiert.

//include befehl entschärfen
$include_data=$_GET['mod'];
//eigenen Arbeitspfad ermitteln
$path=getcwd();

//die zu includenen string auf . prüfen: wenn ja muss dieser entfernt werden und durch / ersetzt werden um einen voll gültigen pfad zu bekommen
if (substr($include_data,0,1)==".") {
$vollerpfad=$path.substr($include_data,1);
}
else {
$vollerpfad=$path."/".$include_data;
}

//es wird geprüft ob es sich um eine datei handelt, die auf dem Server liegt wenn ja darf sie ausgeführt werden
if (is_file($vollerpfad)) {
print "Datei vorhanden";
include($include_data);
}
else {
print "Datei NICHT vorhanden";
include("anfangsdatei.html");
}

Ist das so möglich? Kann man über include sonst noch schädlichen code einschleusen oder ist dies nicht möglich?

mfg Schwierle
Mit Zitat antworten
  #4  
Alt 30.11.2005, 19:22:27
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: include Befehl absichern

Da fehlt noch ein basename(), damit es sicher wird.

PHP-Code:
//include befehl richtig entschärfen
$include_data basename($_GET['mod']); 
Mit Zitat antworten
  #5  
Alt 30.11.2005, 20:03:40
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: include Befehl absichern

Also, der wohl einfachste Weg mit guter Sicherheit ist dieser:

PHP-Code:
<?PHP
$files 
= array('home'      => 'bla/index.php',
               
'news'      => 'bla/blubb/news.php',
               
'impressum' => 'impressum.php');

if(!isset(
$_GET['page']))
  
$_GET['page'] = 'home';

if (
array_key_exists($_GET['page'], $files))
  include 
$files[$_GET['page']];
else
  include 
$files['home'];
?>
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #6  
Alt 05.12.2005, 16:59:02
schwierle schwierle ist offline
Anfänger
 
Registriert seit: Nov 2005
Beiträge: 7
AW: include Befehl absichern

vielen dank für die Antworten!!

mfg Schwierle
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Include befehl geht nicht ... BuLLeT PHP Grundlagen 6 30.06.2005 10:09:40
Anfängerfrage zwecks include befehl orGa PHP Grundlagen 2 25.05.2004 11:29:44
Weiterleitung in if-Schleife Chilla PHP für Fortgeschrittene und Experten 15 05.05.2004 19:19:44
include befehl kulimuh PHP Grundlagen 3 06.09.2003 17:07:55
Include Befehl in For Schleife, geht das??? Wauzy PHP für Fortgeschrittene und Experten 4 13.03.2003 23:10:38


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:15:18 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt