ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
835
835
EMPFEHLEN
-
Hallo,
ich möchte gerne, dass das includen nur auf meinem Server möglich ist. Funktionieren tut das schon ein Kollege hatte das mal gemacht. Weiß aber nicht mehr wie das geht. Das stellt nämlich leder ein enormes Sicherheitsrisiko da.
Diesen Code verwende ich!
UndPHP-Code:<?
$site = (isset ($_REQUEST['site'])) ? $_REQUEST['site'] : '';
$host=$_SERVER['HTTP_HOST'];
if($site=="") {
// News System Include
include("http://$host/main.php?open=news");
}
else {
include($site);
}
?>
Ich hoffe Ihr könnt mir helfen!PHP-Code:<?
require("http://$host/main.php?open=newest5");
?>
-
Erstmal: include() und require() koennen, genauso wie einige andere Funktionen, nur mit URLs umgehen wenn allow_url_fopen=on ist. Da man darauf nicht zwingend Einfluss hat und diese Einstellung gewaltige Sicherheitsloecher aufreissen kann sollte man immer so programmieren, dass die Script auch mit allow_url_fopen=off laufen. Soll heissen: Keine Remote-Includes. Und falls es wirklich noetig sein sollte Code von anderen Server zu holen um ihn auszufuehren, dann sollte diese Addresse fest im Quellcode eingetragen sein und nicht uebergeben werden. Dann kannst Du ueber fsockopen() verbinden und darueber die Daten abholen. Ansonsten gilt halt: Nur ueber's Dateisystem includen.
PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
__________________
EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
__________________
__________________Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
Zitat von Friedrich Nietzsche
-
Andere möglichkeiten gibt es nichrt?
-
Wenn allow_url_fopen=off ist wirst Du mit fsockopen() arbeiten muessen. Alternativ kannst Du, falls verfuegbar, mit CURL arbeiten. Aber dies ist "in the wild" wohl eher selten zu finden. Oder falls Du FTP-Zugriff hast kannst Du, falls verfuegbar, mit den FTP-Funktionen arbeiten, oder eben eine FTP-Verbindung ueber fsockopen() aufbauen.
Allgemein wuerde ich da, wenn es denn halt wirklich noetig ist, auf fsockopen(), bzw. meine Klassen fuer HTTP- oder FTP-Zugriff, setzen.
Bei Remote-Includes ist eh das Problem, dass sie in der Regel nicht auf Deinem Server ausgefuehrt werden da Du ja bei einem Zugriff per HTTP nur den URL aufrufst und somit das Script auf dem Server ausgefuehrt wird, es sei denn Dir wird dort einfach nur der Quellcode praesentiert.
Uebrigens, ein kleiner Blick in mein Tutorial Schutz vor includen von Dateien ausserhalb des DocRoot koennte vielleicht auch nicht uninteressant fuer Dich sein.PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
__________________
EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
__________________
__________________Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
Zitat von Friedrich Nietzsche
Ähnliche Themen
-
Öffnen des IEs verbieten?
Von VioX im Forum Microsoft WindowsAntworten: 14Letzter Beitrag: 27.06.06, 16:08 -
Includen von Externen Seiten verbieten!
Von PHP-Fan im Forum PHPAntworten: 4Letzter Beitrag: 12.06.06, 01:06 -
Kopieren verbieten
Von babagirl im Forum CSSAntworten: 2Letzter Beitrag: 02.07.05, 01:07 -
htmlcode verbieten
Von ruNN0r im Forum PHPAntworten: 2Letzter Beitrag: 17.04.05, 18:50 -
Minimieren verbieten
Von ExtremeSnail im Forum Javascript & AjaxAntworten: 4Letzter Beitrag: 26.01.05, 23:37





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren