ERLEDIGT
JA
JA
ANTWORTEN
8
8
ZUGRIFFE
735
735
EMPFEHLEN
-
Moin, ich benutze folgendes Script zum includen meiner Scripte, bzw der html seiten.
Da ich einfach seiten hochladen möchte die dann automatisch angezeigt werden ist die sache so ansich schon super.
Meine Frage ist nun wie sicher ist dieses Script und in wie weit kann man es eventuell noch sicherer machen ?
Switch anweisungen kommen nicht in frage, da ich wie oben schon gesagt habe, einfach ne html seite z.b. hochladen möchte und diese dann sofort benutzen kann.PHP-Code:<?php
if(empty($_GET['seite']))
$_GET['seite'] = "news/index";
if(file_exists("html/".$_GET['seite'].".html")) {
include("html/".$_GET['seite'].".html");
} else
if(file_exists("php/".$_GET['seite'].".php")) {
include("php/".$_GET['seite'].".php");
} else {
include("html/error.html");
}
?>Wir hoffen immer auf den nächsten Tag, wahrscheinlich erhofft sich der nächste Tag einiges von uns. - Ernst R. Hauschka (dt. Essayist)
-
13.01.08 23:22 #2
Wie wäre es mit automatisch auslesen und so eine Whitelist erzeugen?
Wobei else bei dir natürlich der standard Fall sein sollte.PHP-Code:<?php
$dir = './sec/';
foreach (array_merge(glob($dir.'*.php'), glob($dir.'*.html')) as $file)
{
$files[] = $file;
}
if(in_array($dir.$_GET['seite'].'.html', $files))
{
include($dir.$_GET['seite'].'.html');
}
else
{
print 'Fehler. Sektion nicht vorhanden.';
}
?>KIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
-
Was passiert wenn $_GET['seite'] den Wert „../index“ enthält?
Markus Wulftange
-
Wir hoffen immer auf den nächsten Tag, wahrscheinlich erhofft sich der nächste Tag einiges von uns. - Ernst R. Hauschka (dt. Essayist)
-
Und ist das auch gewollt oder zulässig?
Markus Wulftange
-
Wir hoffen immer auf den nächsten Tag, wahrscheinlich erhofft sich der nächste Tag einiges von uns. - Ernst R. Hauschka (dt. Essayist)
-
Hab das Script jetzt mal so umgeschrieben, damit er mir am anfang meine Hauptseite auch anzeigt, aber irgendwie klappt das nicht weil diese Datei halt in einem Unterverzeichniss von php liegt.
PHP-Code:if(empty($_GET['seite']))
{
$_GET['seite'] = "news/index";
}
foreach (array_merge(glob("php/".'*.php'), glob("html/".'*.html')) as $file)
{
$files[] = $file;
}
if(in_array("html/".$_GET['seite'].'.html', $files))
{
include("html/".$_GET['seite'].'.html');
}
else
{
if(in_array("php/".$_GET['seite'].'.php', $files))
{
include("php/".$_GET['seite'].'.php');
}
else
{
print 'Fehler. Sektion nicht vorhanden.';
}
}
Geändert von Wipeout (14.01.08 um 00:34 Uhr)
Wir hoffen immer auf den nächsten Tag, wahrscheinlich erhofft sich der nächste Tag einiges von uns. - Ernst R. Hauschka (dt. Essayist)
-
Mach einfach Folgendes:
PHP-Code:$error = false;
if( empty($_GET['seite']) ) {
$_GET['seite'] = 'news/index';
}
if( strpos($_GET['seite'], '..') !== false ) {
$error = true;
}
if( !$error && ($absPath = realpath('html/'.$_GET['seite'].'.html')) !== false ) {
readfile($absPath);
} else if( !$error && ($absPath = realpath('php/'.$_GET['seite'].'.php')) !== false ) {
include $absPath;
} else {
readfile('html/error.html');
}
Markus Wulftange
-
Wir hoffen immer auf den nächsten Tag, wahrscheinlich erhofft sich der nächste Tag einiges von uns. - Ernst R. Hauschka (dt. Essayist)
Ähnliche Themen
-
Ist das sicher?
Von slaughter89 im Forum PHPAntworten: 11Letzter Beitrag: 03.01.08, 17:13 -
Problem bei Klasse, ist das Script sicher?
Von hab1cht im Forum PHPAntworten: 6Letzter Beitrag: 05.07.06, 17:57 -
Php Script sicher machen...
Von freakcx im Forum PHPAntworten: 6Letzter Beitrag: 22.06.06, 22:41 -
Wie mache ich ein Upload Script sicher
Von PhoenixDH im Forum PHPAntworten: 20Letzter Beitrag: 26.09.04, 21:09 -
Download Script Sicher?
Von KristophS im Forum PHPAntworten: 6Letzter Beitrag: 16.06.04, 01:57





Zitieren


Login






[PHP][Snippet] Array zu XML konvertieren