Simone: per include *.php vom localhost-Heimrechner ins www einbinden

Hi
Ich bin mal wieder hier im Forum gelandet
(Google kann mir zu diesen Problem keine Hilfe bieten)

Ist es möglich vom "Heimrechner" Daten per include in eine www Anwendung einzufügen?

mit javascript kann ich aus der WWW-Seite auf meine Datei zugreifen
Geht das auch mit php?

Als Testzweck hab ich das mal probiert

<?
include ("http://127.0.0.1/bilder/bildergalerie1.php" )
// geht nicht !
?>

<a href="javascript:void(0)" onClick=window.open("http://127.0.0.1/bilder/bildergalerie1.php",'HomeMM','width=440px,height=480px,scrollbars=yes')>Die bilder öffnen</a>

-------------------------------------------------------------

Simone

PS: bin für alle Antworten dankbar

  1. hi!

    liegt sicher an den chmod-einstellungen deiner datei bzw. deines
    servers. und wenn du das mit der ip: 127.0.0.1 probiert hast dürfte es
    eigentlich auch nicht mit javascript funktionieren.

    tschau

    1. Glaub ich nicht so richtig!

      Javascript funktioniert. Vielleicht weil ich die IP meines localhost'es anspreche und es demnach auf meinen eingerichteten Apache läuft.
      Das könnte logisch sein, oder?

      Jedenfalls suche ich eine Möglichkeit auf PHP Programm-Datein meines Localhostes zuzugreifen. vom WWW ---> Heimrechner---> ins WWW

      Simone

  2. hallo Simone,

    Ist es möglich vom "Heimrechner" Daten per include in eine www Anwendung einzufügen?

    Mit ein paar Verrenkungen sollte das möglich sein, ist aber unklug.

    mit javascript kann ich aus der WWW-Seite auf meine Datei zugreifen

    Oh. Ja, vielleicht kannst _du_ das, aber kann es auch jeder beliebige Besucher dieser www-Seite (offensichtlich wünschst du das ja)?

    <?
    include ("http://127.0.0.1/bilder/bildergalerie1.php" )
    // geht nicht !
    ?>

    Kann auch nicht "gehen", weil die 127.0.0.1 deine "loopback"-Adresse ist und für keine anderen Zwecke verfügbar.

    <a href="javascript:void(0)" onClick=window.open("http://127.0.0.1/bilder/bildergalerie1.php",'HomeMM','width=440px,height=480px,scrollbars=yes')>Die bilder öffnen</a>

    Das funktioniert ausdrücklich _nur dann_, wenn dein Seitenbesucher selbst auf seinem eigenen Rechner mit Hilfe eines lokal installierten Webservers auf http://127.0.0.1/bilder/bildergalerie1.php exakt das vorfindet, was du auf deinem Rechner hast.

    Möglich wäre (obwohl ich persönlich mich damit nicht anfreunden kann), daß du deinen Rechner per dyndns im Internet verfügbar machst und dann eben anstelle von 127.0.0.1 deinen Hostnamen bzw. Servernamen vorgibst. Aber dein Rechner zuhause wird in der Regel nicht 364 Tage pro Jahr ununterbrochen Tag und Nacht verfügbar sein, die Maschinen der Internetprovider sind das jedoch. Also ist es grundsätzlich richtiger, den eigenen Rechner einfach "auszulassen" und alles, was man veröffentlichen möchte, beim Provider hochzuladen.

    Grüße aus Berlin

    Christoph S.

    1. HI Christoph S.

      Erstmal Dank!

      Das Sicherheitsrisko ist relativ hoch, da muss ich Dir zustimmen.
      Ich wollte die Funktionen nutzen um Daten einzupflegen (Heimrechner)und dann ins WWW zu schicken. Ein Adminbereich der "geschützt" ist.

      Mein www Server läuft im Save Modus und erlaubt mir keinerlei "Spielerein" .

      Also steh' ich vor dem Problem Daten online einpflegen zu müssen.
      Oder per PHP Myadmin hochzuladen und das ist nicht so tool.

      Bestimmte fsockopen Funktionen bekomme ich auf mein WWW Server einfach nicht zu laufen.
      Das ist der eigentliche Knackpunkt.

      .........................
      Das funktioniert ausdrücklich _nur dann_, wenn dein Seitenbesucher selbst auf seinem eigenen Rechner mit Hilfe eines lokal installierten Webservers auf http://127.0.0.1/bilder/bildergalerie1.php exakt das vorfindet, was du auf deinem Rechner hast.
      .........................

      Das könnte als Ansatz funktionieren

      window.opener.

      dürfte eine Möglichkeit sein?

      Simone

      1. hallo Simone,

        Ich wollte die Funktionen nutzen um Daten einzupflegen (Heimrechner)und dann ins WWW zu schicken. Ein Adminbereich der "geschützt" ist.

        Das ist noch keine Begründung, auch wenn ich das verstehen kann. Wenn du einen einigermaßen zuverlässigen Hoster hast, wird er dir gestatten, in deinem Webspace selbst (also nicht nur auf dem lokalen Rechner) einen paßwortgeschützten "Admin-Bereich" einzurichten. Das ist meist sogar deutlich sicherer, als den eigenen Rechner per dyndns (oder über eine andere Methode) online zu stellen.

        Mein www Server läuft im Save Modus und erlaubt mir keinerlei "Spielerein" .

        Bitte konkret, damit wir über dasselbe reden: "mein www Server" ist dein Provider oder ist das dein lokal installierter Webserver? Wenns der lokal installierte Server ist, kannst du den "Save Modus" aufheben.
        Ich bin auch nicht sicher, ob wir unter "Save Mode" unbedingt dasselbe verstehen müssen. Mein lokaler Webserver läuft auch im "save mode", macht mir aber keine Probleme ;-)

        Also steh' ich vor dem Problem Daten online einpflegen zu müssen.
        Oder per PHP Myadmin hochzuladen und das ist nicht so tool.

        Warum nicht? Wie oft verändern sich diese Daten, wie schnell geht das, wie groß wird eventuell der erzeugte Traffic und warum muß es PHPMyadmin sein? Geht es nicht auch per FTP?

        Bestimmte fsockopen Funktionen bekomme ich auf mein WWW Server einfach nicht zu laufen. Das ist der eigentliche Knackpunkt.

        Nochmal: falls "mein WWW Server" dein Provider ist, dann sollte er dir auch mitgeteilt haben, was er überhaupt für zulässig hält. Es gibt Provider, die bestimmte Funktionen (auch fsockopen) von vorneherein nicht erlauben, und dann kannst du machen, was du willst, das kriegst du nicht über den "Umweg" über den eigenen Rechner hin.

        window.opener.
        dürfte eine Möglichkeit sein?

        ähm, ja, in Javascript. Aber was hat das mit deinem PHP-Problem zu tun?

        Grüße aus Berlin

        Christoph S.

        1. HI Christoph

          Das was ich hier gepostet habe klingt alles etwas ... naja.

          Also mit Save Modus mein ich natürlich nicht den den lokalen Rechner.
          Save Modus für mein Webspace das ist schon ok. Eine Großzahl der dir bzw. Verzeichniss und upload  Funktionen sind deaktiviert.
          es sei den
          ...............
          $DOCUMENT_ROOT".dirname($PHP_SELF)
          ...............
          das geht auch im Save Modus
          ---------------------------------------
          Was ich unbedingt hin bekommen muss ist diese Socketfunktion
          weil ich daraus Content für meine Seiten erzeuge.

          Auszug Funktion:

          if (!empty ($dirname1))
          {
          //$cmd="v.bat";
          //system($cmd);

          // echo  "$dirname1";

          $avartref = explode(" ", $dirname1 );
            $len11 = count($avartref);
            for ($i=0; $i<$len11; $i++)
            if (!empty ($avartref[$i]))
          {
                   $s .= $avartref[$i]."+";
                          }

          $GrabURL ="http://www.gle.com/search?sourceid=navclient&hl=de&q=$s";

          $sockhandle = fsockopen("www.gle.com", 80, &$errno, &$errstr);
          if(!$sockhandle) {
           print "server not available!";
          } else {
          $request = "GET $GrabURL HTTP/1.1\r\n";
          $request .= "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)\r\n";
          $request .= "Host: www.gle.com\r\n";
          $request .= "Connection: Close\r\n\r\n";
           fputs($sockhandle, $request);
           $line = fgets($sockhandle, 1024); //Request Method
          $line = fgets($sockhandle, 1024); //Close Method
           $line = fgets($sockhandle, 1024); //Server Type
           $line = fgets($sockhandle, 1024); //Date
           $line = fgets($sockhandle, 1024); //Transfer-Encoding
           $line = fgets($sockhandle, 1024); //Content-Type
           $line = fgets($sockhandle, 1024); //Cache-control
          $line = fgets($sockhandle, 1024); //Set-Cookie
           $line = fgets($sockhandle, 1024); //End Header "space"
           $content1 = "";
           while (!feof($sockhandle)) {
             $line = fgets($sockhandle, 1024); //Packet length
             $length = hexdec($line);
             $content1 .= fread($sockhandle, $length); //Packet data
           }
           echo  $content1;

          // $yafp = fopen(glogfil.".rw",
          // "w-");
          // fputs($yafp,$content1);
          // fclose($yafp);
          }
          fclose($sockhandle);

          und soweiter.....

          Und genau das geht nur auf meinen lockalen Rechner !
          und nicht im WWW

          window.opener.
          dürfte eine Möglichkeit sein?

          ähm, ja, in Javascript. Aber was hat das mit deinem PHP-Problem zu tun?

          Wenn ich aus Javascript werte in PHP übergebe sollte es eine Möglichkeit sein

          Simone

          1. hallo Simone,

            Das was ich hier gepostet habe klingt alles etwas ... naja.

            Ok, Einsicht ist der erste Schritt auf dem Weg zur Besserung ;-)

            Save Modus für mein Webspace das ist schon ok. Eine Großzahl der dir bzw. Verzeichniss und upload  Funktionen sind deaktiviert.

            Das ist zu ungenau. Aber wie ich bereits angemerkt habe: es ist Sache deines Providers, zu entscheiden, was er für zulässig hält.

            $DOCUMENT_ROOT".dirname($PHP_SELF)
            das geht auch im Save Modus

            Es gibt ein paar Umgebungsvariablen, die gewissermaßen als "Herzstück" funktionieren und unverzichtbar sind, und die hier gehört dazu.

            Was ich unbedingt hin bekommen muss ist diese Socketfunktion
            weil ich daraus Content für meine Seiten erzeuge.

            Wenns dein Provider nicht erlaubt, kannst du zappeln wie du möchtest.

            Lies dir auch bitte durch, was Andreas in [pref:t=51128&m=280728] angegeben hat.

            window.opener. dürfte eine Möglichkeit sein?
            ähm, ja, in Javascript. Aber was hat das mit deinem PHP-Problem zu tun?
            Wenn ich aus Javascript werte in PHP übergebe sollte es eine Möglichkeit sein

            Ja, aber nur prinzipiell. Ob du das "Prinzip" einhältst, kann ich auch an deinem mitgelieferten (und von mir jetzt wieder rausgeschnipselten) Code nicht erkennen.

            Christoph S.

            1. HI  Christoph

              .................

              Was ich unbedingt hin bekommen muss ist diese Socketfunktion
              weil ich daraus Content für meine Seiten erzeuge.

              Wenns dein Provider nicht erlaubt, kannst du zappeln wie du möchtest.
              .................

              Gibt es eine PHP Testfunktion für den Socket Befehl bzw. steht das was zugelassen ist in der
              info PHP
              wo kann ich genau ersehen welche Funktionen im Save Modus nicht möglich sind.

              Lies dir auch bitte durch, was Andreas in ?t=51128&m=280728 angegeben hat.

              Das verstehe ich nicht!

              Kannst Du mir das mal erklären?

              Danke
              Simone

              1. hallo Simone,

                Gibt es eine PHP Testfunktion für den Socket Befehl

                Jaein. Ob es eine "unmittelbare" Testfunktion gibt, weiß ich nicht. Aber du kannst dir ja ein Script schreiben, mit dem du diese "fsockopen" einsetzt und mit einer "if/else"-Abfrage und einem alert bei else anzeigen läßt, obs geklappt hat.

                bzw. steht das was zugelassen ist in der info PHP

                In info.php steht unglaublich viel drin, unter anderem auch alles, was zugelassen ist. Nur muß man die Ausgabe von info.php interpretieren können ;-)

                Lies dir auch bitte durch, was Andreas in [pref:t=51128&m=280728] angegeben hat.
                Das verstehe ich nicht!

                Dann bin ich ratlos. Andreas hat doch sehr deutlich formuliert, worauf er aufmerksam machen wollte, besser könnte ich es auch nicht.

                Christoph S.

  3. Hallo,

    dass ich das richtig verstehe, du hast auf einem server im www ein paar seiten liegen und willst in diese seiten mittels php daten von deinem recher, der bei dir  unter dem schreibtisch steht ein datei einbinden.

    da drängt sich mir die frage nach dem "warum" dieses vorgehens auf.

    Mit freundlichen Grüßen,
    Andreas Waidelich

    --
    signatures eat bandwidth
    1. Hi Andreas

      Ja, das ist genau das was ich vor habe !
      Zumindest suche ich nach Möglichkeiten das zu machen.
      Auf meinen Heimrechner Daten zu erfassen und dann ins WWW einzuspielen.

      Die Frage nach den Warum kann ich Dir eindeutig beantworten:

      Auf mein Heimrechner kann ich den Apache bzw. PHP so laufen lassen das bestimmte Funktionen so möglich sind wie sie im Netz nicht machbar sind. (Sicherheits Risiko Save Modus)

      Simone

      1. Hallo Simone,

        Auf mein Heimrechner kann ich den Apache bzw. PHP so laufen lassen das bestimmte Funktionen so möglich sind wie sie im Netz nicht machbar sind. (Sicherheits Risiko Save Modus)

        dann geh ich mal davon aus, dass auf deinem server im www include-files nicht mittels php eingebunden werden dürfen. stichwort zur suche: "URL fopen wrappers". kannst du denn mittels ini_set() die konfiguration ändern?

        und falls du dann doch via http includen darfst, dann muss du dir immernoch gedanken um die ip deines lokalen rechners gedanken machen. ich gehe mal davon aus, dass du keine feste ip hast. besorge dir bei eimem dienst wie DynDNS o.ä. einen accout. alles weiter ist auf den jeweiligen seiten beschrieben.

        Mit freundlichen Grüßen,
        Andreas Waidelich

        --
        signatures eat bandwidth
        1. Hi Andreas Waidelich
          Danke, werde ich mir mal anschauen
          mit "URL fopen wrappers" bzw. ini_set()
          hab ich noch nichts gemacht

          Simone

  4. Hi,

    include ("http://127.0.0.1/bilder/bildergalerie1.php" )

    Läuft der Server, auf dem Dein Script läuft, unter Windows?
    Dann gilt:
    Warning

    The Windows version of PHP currently does not support remote file accessing for this function, even if allow_url_fopen is enabled.

    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/