Veröffentlicht 10. Oktober 200222 j 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
14. Oktober 200222 j 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
14. Oktober 200222 j Autor 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
14. Oktober 200222 j Autor 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
14. Oktober 200222 j Autor was´n das für´n link also das script mit dem ich einbinden will is eh oben. das script das ich einbinden will sieht ungefähr so aus: <? $weeks=4; $vorschau=1; ?> das wars und wenn ich mir jetzt vom obigen script eine der beiden variablen ausgeben lassen will. kommt nix. vorschläge?
14. Oktober 200222 j Hast du dir mal $u ausgeben lassen? Ist $u ein String ? Sonst fällt mir erst mal nix ein. Ich geb dir mal nen Auszug von mir: extract($_REQUEST); ini_set("include_path","./../CGI"); require("data.php"); [/PHP]
14. Oktober 200222 j Autor $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
14. Oktober 200222 j 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
14. Oktober 200222 j Autor aah ja . denkfehler von mir. wird ja dann vorher schon geparst. zszsz 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
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.