Ankündigung

Einklappen
Keine Ankündigung bisher.

cURL Login

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • cURL Login

    Hallo, wie oben beschrieben geht es um cURL mit PHP.

    curl.php
    PHP-Code:
    <?php
    //username and password of account
    $username trim($values["email@email.de"]);
    $password trim($values["test123"]);

    //set the directory for the cookie using defined document root var
    $path DOC_ROOT."/ctemp";
    //build a unique path with every request to store. the info per user with custom func. I used this function to build unique paths based on member ID, that was for my use case. It can be a regular dir.
    //$path = build_unique_path($path); // this was for my use case

    //login form action url
    $url="https://www.example.com/login/action"
    $postinfo "email=".$username."&password=".$password;

    $cookie_file_path $path."/cookie.txt";

    $ch curl_init();
    curl_setopt($chCURLOPT_HEADERfalse);
    curl_setopt($chCURLOPT_NOBODYfalse);
    curl_setopt($chCURLOPT_URL$url);
    curl_setopt($chCURLOPT_SSL_VERIFYHOST0);

    curl_setopt($chCURLOPT_COOKIEJAR$cookie_file_path);
    //set the cookie the site has for certain features, this is optional
    curl_setopt($chCURLOPT_COOKIE"cookiename=0");
    curl_setopt($chCURLOPT_USERAGENT,
        
    "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7");
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_REFERER$_SERVER['REQUEST_URI']);
    curl_setopt($chCURLOPT_SSL_VERIFYPEER0);
    curl_setopt($chCURLOPT_FOLLOWLOCATION0);

    curl_setopt($chCURLOPT_CUSTOMREQUEST"POST");
    curl_setopt($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_POSTFIELDS$postinfo);
    curl_exec($ch);

    //page with the content I want to grab
    curl_setopt($chCURLOPT_URL"http://www.example.com/page/");
    //do stuff with the info with DomDocument() etc
    $html curl_exec($ch);
    curl_close($ch);
    ?>
    URL ist wegen Copyright nicht genannt.

    Das Problem ist, dass keine Cookie-Datei entsteht, und ich nicht auf die Seite mit dem Content to grab weitergeleitet werde.

    Aufbau der Seite:

    index.php hat das login form:

    HTML-Code:
    <form id="login_form" action="example.de/login.php" method="post" > 
    
    <div class="form-group">
    
    <input id="username" type="text" name="username" class="form-control" placeholder="Benutzername"/>
    
    </div>
    
    
    
    <div class="form-group">
    
    <input id="password" type="password" name="password" class="form-control" placeholder="Passwort"/>
    
    </div>
    
    
    
    <button type="submit" class="btn btn-primary btn-block">Login</button>
    wenn man auf login.php geht, landet man auf index.php mit dem oben genannten formular.

    Folgendes wird beim network capturing mit den Dev-Tools analysiert:

    Host: example.de
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Accept-Language: de,en-US;q=0.7,en;q=0.3
    Accept-Encoding: gzip, deflate, br
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 49
    Origin: https://example.de
    Connection: keep-alive
    Referer: https://example.de/index.php
    Cookie: PHPSESSID=0icgno4b8qisgdclpn3mfgc1vn
    Upgrade-Insecure-Requests: 1
    Pragma: no-cache
    Cache-Control: no-cache

    --

    username=email@email.de&password=test123

    Danke

    Gruß Fynn

  • #2
    Für mich ist da vieles fragwürdig.

    Was steht in der Variable $values und woher kommt die?
    Wie soll eine Weiterleitung passieren, wenn du CURLOPT_FOLLOWLOCATION explizit ausschaltest?
    Warum betreibst du kein Debugging? Im Code sehe ich keinerlei Fehlerbehandlung oder Debug-Ausgaben.
    Was hat eine URL mit Copyright zu tun? Eine URL kann kein Copyright haben.

    Kommentar


    • #3
      Hallo, besteht die Option, dass du mir anhand meines Codes das Ganze erklärst bzw. änderst? Ich bin kein php Profi. Danke, Gruß Fynn

      Kommentar


      • #4
        Ich soll deinen Code erklären? Eigentlich solltest du deinen Code erklären. Ich versteh nicht, warum das da gemacht wird, was da gemacht wird.

        Wenn du ihn nicht selber geschrieben hast, dann wende dich an den Ersteller des Codes.

        Kommentar


        • #5
          Sorry, so war das nicht gemeint. Ich habe inzwischen einen eigenen Code erstellt

          HTML-Code:
          <?php  
          $c = curl_init(); 
          
          $opt = array( 
              CURLOPT_URL => 'https://www.profi-ortung.de/index.php', 
              CURLOPT_POST => 2, 
              CURLOPT_CAINFO => dirname(__FILE__).'/xxx.pem', 
              CURLOPT_POSTFIELDS => 'username=email@test.de&password=test123', 
              CURLOPT_COOKIEJAR => dirname(__FILE__).'/cookie.txt', 
              CURLOPT_COOKIEFILE => dirname(__FILE__).'/cookie.txt', 
          ); 
          
          curl_setopt_array($c,$opt); 
          curl_exec($c); 
          curl_close($c); 
          
          echo "Script Ende"; 
          exit(); 
          ?>
          HTML-Code:
          <form id="login_form" action="https://www.profi-ortung.de/login.php" method="post">
                              <div class="form-group">
                                  <input id="username" type="text" name="username" class="form-control" placeholder="Benutzername">    
                              </div>
          
                              <div class="form-group">
                                  <input id="password" type="password" name="password" class="form-control" placeholder="Passwort">            
                              </div>
          
                              <button type="submit" class="btn btn-primary btn-block">Login</button>
          
                              </div>
          
          
                          </form>
          Das ist das Script. Jedoch ist in Cookie.txt der Parameter false, also der Login hat nicht geklappt. Könntest du mir da helfen?
          Gruß Fynn

          Kommentar


          • #6
            Frag den Betreiber der Webseite, warum du da false zurück bekommst. Der sollte dir das beantworten können.

            Kommentar


            • #7
              Okay schade das du mir nicht helfen kannst. Ich denke leider wird mir der Betreiber dazu nicht antworten.

              Kommentar


              • #8
                Crossposting: https://www.html-seminar.de/forum/th...94-curl-login/
                Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

                Kommentar


                • #9
                  Zitat von fynn1307 Beitrag anzeigen
                  Okay schade das du mir nicht helfen kannst. Ich denke leider wird mir der Betreiber dazu nicht antworten.
                  Schön, dass Du den Betreiber gefragt hast und das login auch nachstellen kannst.
                  viel schöner, dass Du erklären kannst inwiefern das ganze unter fortgeschritten gehört, in bezug auf das announce und nicht irgendwelche ahnungen.

                  Kommentar


                  • #10
                    [MOD: geschlossen, CrossPost]
                    Competence-Center -> Enjoy the Informatrix
                    PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                    Kommentar

                    Lädt...
                    X