Ankündigung

Einklappen
Keine Ankündigung bisher.

Frage zu file_get_contents und Passwortübergabe

Einklappen

Neue Werbung 2019

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

  • Frage zu file_get_contents und Passwortübergabe

    Hallo,

    ich habe einen Loginbereich (kein HTACCESS). Ich möchte nun mittels file_get_contents diesen Bereich besuchen und den Quellcode weiterverarbeiten.

    Nur habe ich so mein Problem mit der Übergabe des Benutzers und des Kennwortes:

    PHP-Code:
    $website_source11 'http://benutzer1:xxxxx@192.168.150.10';
     
    $dom = new DOMDocument;
     
    $dom->loadHTML(file_get_contents($website_source11)); 
    So funktioniert es leider schon mal nicht....

    Mittels Firebug konnte ich die Post-Infos auslesen:

    make send
    pass xxxxx
    user benutzer1

    Das Formular sieht so aus:

    PHP-Code:
    <class="nothing">
    Benutzername:
    <
    br>
    <
    input type="text" name="user">
    </
    p>
    <
    class="nothing">
    Passwort:
    <
    br>
    <
    input type="password" name="pass">
    </
    p
    Hier der komplette Code: http://pastebin.com/B2Kzfarc

    Wie kann ich die Anmeldedaten korrekt weitergeben?

    Grüße

  • #2
    Kannst du mal genauer beschreiben, was du vorhast?

    Zitat von FRAD Beitrag anzeigen
    ich habe einen Loginbereich (kein HTACCESS).
    Was heißt "ich habe"? Ist es dein Server oder ein Account auf einem anderen Server?
    Kein "HTACCESS" bedeutet, es wird einen PHP-Session mittels Cookie gestartet?
    Zitat von FRAD Beitrag anzeigen
    Ich möchte nun mittels file_get_contents diesen Bereich besuchen und den Quellcode weiterverarbeiten.
    Mit "diesen Bereich" meinst du sicherlich nicht das Login-Formular, sondern eine Seite, die nur mit gültiger Session, also nach dem Login, besucht werden darf, oder?

    Kommentar


    • #3
      Hi,

      ist mein eigener Server, den ich auslesen möchte. Muss mich allerdings zuerst anmelden, damit ich Werte auslesen kann. Daher meine Frage, wie ich die Werte "User" und "Pass" übergeben kann...

      Mit "diesen Bereich" meinst du sicherlich nicht das Login-Formular, sondern eine Seite, die nur mit gültiger Session, also nach dem Login, besucht werden darf, oder?
      Ja genau - den Memberbereich meinte ich damit...

      Kommentar


      • #4
        Zitat von FRAD Beitrag anzeigen
        ist mein eigener Server, den ich auslesen möchte. Muss mich allerdings zuerst anmelden, damit ich Werte auslesen kann. Daher meine Frage, wie ich die Werte "User" und "Pass" übergeben kann...
        Wenn's dein Server ist, kannst du doch die relevanten Daten direkt aus der Datenbank ziehen?

        Ansonsten musst du dir halt erst eine gültige Session besorgen (Login) und anschließend damit die gewünschte Seite aufrufen.
        Das kannst du z.B. mit curl erreichen.

        Kommentar


        • #5
          ok, also geht das über die URL nicht, dass ich user und passwort übergebe?

          Viele Grüße

          Kommentar


          • #6
            Zitat von FRAD Beitrag anzeigen
            ok, also geht das über die URL nicht, dass ich user und passwort übergebe?

            Viele Grüße
            Was du da machen willst in der URL nennt sich HTTP Auth. Verwendest du das HTTP Auth Verfahren? Nein, du verwendest ein HTML Formular und ein dahinter liegendes Script. Hier wird vermutlich mit einem Session Cookie gearbeitet um den Login zu speichern.

            D.h. du brauchst etwas was es dir erlaubt

            - über PHP einen HTTP Request abzusetzen
            - POST Daten zu senden
            - Cookies entgegen zu nehmen
            - Cookies beim nächsten Request wieder mit zu senden

            Da das HTTP Protokoll Textbasiert ist könntest du das mit fsockopen() selber bauen. Zu empfehlen ist jedoch cURL, da diese PHP Erweiterung eine nahezu vollständige HTTP Implementierung darstellt.

            Kommentar


            • #7
              hi,

              mittels:

              PHP-Code:
              curl_setopt ($cuCURLOPT_POSTFIELDS'make=send&user=$username&pass=$password'); // 
              funktiniert mein Aufruf leider nicht.

              Dieser Aufruf ohne Variable funktioniert:

              PHP-Code:
              curl_setopt ($cuCURLOPT_POSTFIELDS'make=send&user=testuser&pass=testpasswort'); // 
              Wie bekomme ich dasmit Variablen hin?

              $username = "Benutzername";
              $password = "Passwort";

              Kommentar


              • #8
                erst denken - ich weiss
                PHP-Code:
                curl_setopt ($chCURLOPT_POSTFIELDS'field1=value1&umessage='.$mymessage); 

                Kommentar


                • #9
                  Nun läuft alles

                  Bekomme aber eine Warnung bei der Ausführung des Skriptes:

                  Warning: curl_setopt(): supplied argument is not a valid cURL handle resource in...

                  PHP-Code:
                  $cu curl_init();
                  curl_setopt($cuCURLOPT_URL$website_source1); // url
                  curl_setopt ($cuCURLOPT_POST1); // post formular
                  curl_setopt ($cuCURLOPT_POSTFIELDS'make=send&pass=testpasswort&user=testuser'); // variablen
                  curl_setopt($chCURLOPT_FOLLOWLOCATIONtrue); // Location: folgen
                  curl_setopt ($cuCURLOPT_COOKIEJAR'cookie.txt'); // cookies unterstützen...
                  curl_setopt ($cuCURLOPT_RETURNTRANSFER1); // ausgabe als string
                  $req curl_exec ($cu); // request abschicken
                  curl_close ($cu); 
                  Laut Doku ist aber alles korrekt ?!?!

                  Kommentar


                  • #10
                    Lass dir kein h für ein u vormachen

                    Kommentar


                    • #11
                      sorry, den versteh ich nicht. Habe ich nun ein Problem oder nicht?

                      Kommentar


                      • #12
                        Die Zeile die in der Fehlermeldung genannt wird, mal genau anzuschauen, ist zu viel verlangt?

                        Zitat von FRAD Beitrag anzeigen
                        $cu = curl_init();
                        curl_setopt($cu, CURLOPT_URL, $website_source1); // url
                        curl_setopt ($cu, CURLOPT_POST, 1); // post formular
                        curl_setopt ($cu, CURLOPT_POSTFIELDS, 'make=send&pass=testpasswort&user=testuser'); // variablen
                        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // Location: folgen
                        curl_setopt ($cu, CURLOPT_COOKIEJAR, 'cookie.txt'); // cookies unterstützen...
                        curl_setopt ($cu, CURLOPT_RETURNTRANSFER, 1); // ausgabe als string
                        $req = curl_exec ($cu); // request abschicken
                        curl_close ($cu);

                        Kommentar


                        • #13
                          ich gehe ins Bett - gute Nacht!!!! sorry vielmals!!!

                          Kommentar

                          Lädt...
                          X