PHP-Funktion für Extern DB-Zugriff

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP-Funktion für Extern DB-Zugriff

    Kennt jemand von euch eine PHP-Funktion die mir erlaubt, von extern auf eine Datenbank zuzugreifen?

    Beispiel

    Server 1: Datenbank
    Server 2: PHP-Anwendung

    Bei fast allen Hostern ist MySQL ja so konfiguriert, dass man nicht von einem externen Server auf die Datenbank zugreifen kann. Gibt es nun (gibt es bestimmt, nur wo...) ein Script/Funktion die mir ermöglichst, dass ich eben doch von extern auf die Datenbank zugreifen kann?

    Gruss
    Basti
    Achtung: ich diskutiere gern
    http://www.project-angel.org

  • #2
    wenn der zugriff gesperrt ist, ist halt sense!!

    kannst es ja mal mit phpmyadmin versuchen, wird aber trotzdem nicht gehen!

    gruss

    Kommentar


    • #3
      Anscheinend bin ich dann wohl doch schlauer

      PHP-Datei auf dem Server mit der Datenbank ablegen und diese dann auf dem zweiten Server per CURL auslesen und anzeigen...

      Jetzt muss ich bei CURL nurnoch durchsteigen, wenn es um Formulare und "POST" geht.
      Achtung: ich diskutiere gern
      http://www.project-angel.org

      Kommentar


      • #4
        So, habs hinbekommen, funktioniert jetzt wunderbar

        PHP-Code:
            $url $HTTP_POST_VARS["url"];
            
        $hersteller $HTTP_POST_VARS["hersteller"];
            
        $getriebe $HTTP_POST_VARS["getriebe"];
            
        $preis $HTTP_POST_VARS["preis"];
            
        $inv_j $HTTP_POST_VARS["inv_j"];
            
        $km $HTTP_POST_VARS["km"];
            
        $sort $HTTP_POST_VARS["sort"];
            
            if (
        $url == "")
            
        $url "http://www.varitest.ch/suchen/sigma/occasionen_test.php";
            
        $user_agent getenv(HTTP_USER_AGENT);
            
            
        $postfields = array(
            
        "hersteller" => "$hersteller",
            
        "inv_j"      => "$inv_j",
            
        "getriebe"   => "$getriebe",
            
        "preis"      => "$preis",
            
        "km"         => "$km",
            
        "sort"       => "$sort"
            
        );
            
            
        reset($postfields);
            
            
        $ch curl_init(); 
            
        curl_setopt ($chCURLOPT_POST1);
            
        curl_setopt ($chCURLOPT_POSTFIELDS$postfields);
            
        curl_setopt ($chCURLOPT_URL$url); 
            
        curl_setopt ($chCURLOPT_USERAGENT$user_agent); 
            
        curl_setopt ($chCURLOPT_HEADER0); 
            
        curl_setopt ($chCURLOPT_RETURNTRANSFER1); 
            
        $result curl_exec ($ch); 
            
        curl_close ($ch); 
            
            echo 
        $result
        Achtung: ich diskutiere gern
        http://www.project-angel.org

        Kommentar


        • #5
          hab dein Skript mal zum testen angepasst... bei meiner DB gehts nicht...
          Jonas (der Admin) meint, richtig konfiguriert dürfte sowas nicht laufen... nachdem er umkonfiguriert hat (zum Testen) gehts...

          gruss

          Kommentar


          • #6
            Ich wüsste nicht, was da dran nicht funktionieren sollte? Am ausführenden Server muss lediglich CURL installiert sein.

            Der Server mit der Datenbank merkt nicht, ob die Seite von einem Browser oder einem anderen Server aufgerufen wird.

            Hab hier im Moment Seiten bei 4 verschiedenen Hostern zur Verfügung und in jeglicher Kombination hat es bei mir funktioniert.

            Einfach sagen "geht nicht" nützt nicht viel
            Achtung: ich diskutiere gern
            http://www.project-angel.org

            Kommentar


            • #7
              am ausführenden Server ist Curl installiert... wenn ich von diesem Server versuche auf den anderen zu connecten (direkt) geht nicht.

              wenn ich es so mache wie du sagst:
              "Der Server mit der Datenbank merkt nicht, ob die Seite von einem Browser oder einem anderen Server aufgerufen wird."
              brauche ich kein Curl, dann reicht ein einfaches Formular aus/ bzw. eine datei, die meine gesendeten anfragen abarbeitet.

              gruss

              Kommentar


              • #8
                Die Logik wieder... also:

                CURL simuliert eine Browseranfrage, daher merkt es der Server nicht.

                Ein einfaches Formular simuliert doch keine Browseranfrage... es geht ja darum, dass keine Seite vom Server mit der Datenbank im Browser erscheinen darf, da es sonst eine Sicherheitsverletzung in Java gibt.
                Achtung: ich diskutiere gern
                http://www.project-angel.org

                Kommentar

                Lädt...
                X