Zum Inhalt springen

PHP => require => open_basedir restriction


Empfohlene Beiträge

Hallo Leutz,

wieder mal ein PHP Prob.

Ich bastle grad ein bißchen rum und versuche ein *.INC.PHP file mit require einzubinden.

Dazu hab ich mir ein kl. Script getippst:

<?

$u = $HTTP_GET_VARS["u"];

require($u);

?>

so wenn ich jetzt das script (r.php) aufrufe kommt folgende meldung:

Warning: open_basedir restriction in effect. File is in wrong directory in /usr/local/httpd/htdocs/kunden/web2/html/r.php on line 4

Fatal error: Failed opening required '1' (include_path='.:/usr/lib/php') in /usr/local/httpd/htdocs/kunden/web2/html/r.php on line 4

.

Wie man sehen kann ist das ein Linux. In der PHP.INI ist "safe_mode" auf "OFF"!

Ach ja das .INC.PHP -FIle das ich einbinden will liegt am gleichen server blos in einem anderem Webroot.

Aufruf also: htp://meinserver.de/r.php?u=htp://meinserver_aber_andere_domain/inc.php

weiß wer was?

ciao

r00t@l0calh0st

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein include-Pfad ist falsch.

In deiner php.ini steht ein andere Pfad als das aktuelle Verzeichnis.

Problem 1: du must den neuen Pfad angeben

ini_set("include_path","$Pfad")

Problem 2: resultiert aus dem 1. -> du hast keinen Zugriff auf dieses Verzeichnis, da es außerhalb des Webservers liegt.

Gib in deiner php.ini doch beim Eintrag include_path = "./" an, dann kannst du mir dem ersten Schritt auch probemlos arbeiten.

==> dies ist keine Hotline --> die Leute die Antworten tun dies wann sie wollen und können

Link zu diesem Kommentar
Auf anderen Seiten teilen

hi

DANKE für deine antwort.

in der php.ini steht gar nix von einem include_path bzw. es ist auskommentiert!

wenn man die set_ini funktion aufruft wird das dann in der Datei php.ini geändert oder blos für das script das den befehl ausführt, geändert? hab leider die funktion im phpmanual nicht gefunden...

ach ja und

==> dies ist keine Hotline --> die Leute die antworten, tun dies wann sie wollen und können

soso wirklich, das is mir aber gaaanz neu....

tut mir leid das ich sooo aggressiv und soo provokant gepostet habe....

also jetzt wieda :e@sy

merci

ciao

Link zu diesem Kommentar
Auf anderen Seiten teilen

vorherige frage wegen set_ini hat sich erledigt. in der .ini -datei wird nichts geändert.

so jetzt binde ich mit require($url) das .inc.php - script ein. aber ich kann leider noch nicht auf die variablen die darin festgelegt sind zugreifen.

es gibt auch keine fehlermeldung mehr aus gar nix. die rechte auf das .inc.php script : -rw-r--r-- .

müßte doch eigentlich hinhaun oder?

danke für antworten

ciao

Link zu diesem Kommentar
Auf anderen Seiten teilen

$u ist gesetzt, da sonst require($u) fehlschlagen würde.

$u wird (noch) als GET-Parameter mitgegeben: aufruf also

meinscript.php?u=htp://mein_sörva_aber_andere_domain/inc.php

also ist u : "htp://mein_sörva_aber_andere_domain/inc.php"

an dem liegts also nicht .

trotzdem danke für deine antworten

was macht eigentlich "extract($_REQUEST);" ?

ciao

r~~t@l~calh~st

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du darfst das einzubindenden File natuerlich nicht ueber http://.. includen, da es so zuerst vom Webserver geparst wird und dann das ergebnis (eine leere Seite) included wird.

Benutz statt http:// einfach den Pfadnamen im System.

Ach ja.. als tipp: Never Trust User Data :-)

Soll heissen, keine Daten die User direkt eingeben koennen ungeprueft verwenden (in system(), include(), ... anweisungen).

Michael

Link zu diesem Kommentar
Auf anderen Seiten teilen

aah ja . denkfehler von mir. wird ja dann vorher schon geparst.

zszsz :rolleyes:

Never Trust User Data :-)

ja danke aber da bin ich schon vorsichtig geworden.

wenn man mal n´bisschen googelt findet man da die wildesten dinge mit php also

...php?file= oder ...php?path= usw.

jeder weiß wahrscheinlich was man da dann machn kann.... (...passwd o. shadow holen... eigenen phpcode ausführen...)

also danke für alle antworten

ciao

r°°t@l°calh°st

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...