Ankündigung

Einklappen
Keine Ankündigung bisher.

cURL und HTTPs - Was hab ich uebersehen?

Einklappen

Neue Werbung 2019

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

  • cURL und HTTPs - Was hab ich uebersehen?

    Hallo,

    ich versuche mit cURL meine umsaetze meines onlinebankings auszulesen und in eine Datenbank schreiben zu lassen.
    Das online-banking dieser bank unterstuetzt leider keine onlinebankingsoftware (HBCI o.ae.) daher muss ich was selbst zusammenbasteln.

    Wenn ich den code ausfuehre, sehe ich die willkommensseite, die nur nach erfolgreicher anmeldung kommt, aber wenn ich tiefer gehen will und mir z.b. meine umsaetze anzeigen lassen will, bin ich nicht mehr eingelogged. Wie bleibe ich eingelogged oder mache ich da was anderes falsch?

    Hier das aktuelle script:
    Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <!-- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
            "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -->
    <html xmlns="http://www.w3.org/1999/xhtml">
    <body>
    <?php
    
    //Die Session initialisieren
    $ch = curl_init();
    $refer = "";
    //Variablen setzen
    $meineip = "91.0.246.240";
    $url ="https://ibank.klikbca.com/authentication.do";
    $arrSubmit="value(actions)=login&value(user_id)=USERNAME&value(user_ip)=".$meineip."&value(pswd)=PASSWORD&value(Submit)=LOGIN";
    $cookies=getcwd()."\cookie.txt";
    
    //Session Optionen setzen
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $arrSubmit);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cookies);
    curl_setopt($ch, CURLOPT_COOKIEFILE, $cookies);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
    curl_setopt($ch, CURLOPT_CAINFO, getcwd()."\GTECyberTrustGlobalRoot.crt");
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1); 
    curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY );
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"); 
    if ($refer != "") {   
       curl_setopt($ch, CURLOPT_REFERER, $refer );       
    }
    echo $arrSubmit."</br>";
    curl_exec($ch);
    
    
    //$arrSubmit="value(actions)=selecttransaction";
    //curl_setopt($ch, CURLOPT_POSTFIELDS, $arrSubmit);
    //if ($refer != "") {   
    //   curl_setopt($ch, CURLOPT_REFERER, $refer );       
    //}
    //echo $arrSubmit."</br>";
    //curl_exec($ch);
    //
    //
    //
    //$arrSubmit="value(actions)=acct_stmt";
    //curl_setopt($ch, CURLOPT_POSTFIELDS, $arrSubmit);
    //if ($refer != "") {   
    //   curl_setopt($ch, CURLOPT_REFERER, $refer );       
    //}
    //echo $arrSubmit."</br>";
    //curl_exec($ch);
    
    
    
    $arrSubmit="value(actions)=acctstmtview value(D1)=0&value(startDt)=17&value(startMt)=11&value(startYr)=2010&value(endDt)=17&value(endMt)=11&value(endYr)=2010&value(submit1)=View+Account+Statement";
    curl_setopt($ch, CURLOPT_POSTFIELDS, $arrSubmit);
    if ($refer != "") {   
       curl_setopt($ch, CURLOPT_REFERER, $refer );       
    }
    echo $arrSubmit."</br>";
    curl_exec($ch);
    
    
    
    ?>
    </body></html>
    Mal sehen ob jemand den fehler findet.
    Gruesse
    ED

    P.S.: USERNAME und PASSWORD hab ich im original natuerlich gegen die richtigen werte ausgetauscht.

  • #2
    Zitat von edsteve Beitrag anzeigen
    Wenn ich den code ausfuehre, sehe ich die willkommensseite, die nur nach erfolgreicher anmeldung kommt, aber wenn ich tiefer gehen will und mir z.b. meine umsaetze anzeigen lassen will, bin ich nicht mehr eingelogged.
    Wie genau sieht denn dieses „tiefer gehen“ aus ...?
    [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

    Kommentar


    • #3
      wird die $cookies Datei angelegt und steht etwas in dieser?
      edit.: Dir sollte klar sein dass DU dich nicht einloggst sondern dein Server, von daher ist es klar, dass wenn du dann auf der Seite rumklickst, er dich wieder ausloggt weil ja dann nicht mehr die Daten vom Server geladen werden...
      "Dummheit redet viel..Klugheit denkt und schweigt.." [Amgervinus]

      Kommentar


      • #4
        Hi.

        Danke für die Antowrten.
        Klicken tu ich nicht auf der Seite.
        aber wenn zb letzte execute ausgeführt wird, dann bin ich wieder ausgeloggt.
        in der cookie datei steht was drin. wird auch immer neu geschrieben, wenn ich sie lösche. sollte also gehn, oder?

        was muss man sonst noch so beachten, wenn man mehrere https-klicks hintereinander mit nem script simuliert?


        PS: der auskommentierte code sollte überflüssig sein.

        Gruß
        edsteve

        Kommentar


        • #5
          du musst nach dem anfänglichen Akzeptieren des Cookies (nach dem erfolgreichen Login) dieses Cookie immer mitsenden, damit dich der Bank-Server erkennt
          "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste [IMG]http://www.php.de/core/images/smilies/icon_lol.gif[/IMG]

          Kommentar


          • #6
            hmm..

            tu ich das nichtz austomatisch, wenn ich die variablen nicht anfasse?
            wird das dann nicht durch
            PHP-Code:
            curl_setopt($chCURLOPT_COOKIEFILE$cookies); 
            gemacht?
            oder muss ich die verbindung vorher trennen und dann wieder neu initialisieren?

            Kommentar


            • #7
              örm . nö, dieser Code sagt dem cURL nur, in welcher Datei er das ankommende Cookie ablegen soll (cURL ahmt ja Browserverhalten nach) - bei dem nächsten Request (um eben zu Navigieren) muss es explizit mitgesendet werden
              "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste [IMG]http://www.php.de/core/images/smilies/icon_lol.gif[/IMG]

              Kommentar


              • #8
                achso, ich dachte das wird durch den COOKIEFILE Parameter gemacht.

                nur wie soll ich das jedesmal mit übergeben?

                Alle Beispiele die ich finde nutzen nur CURLOPT_COOKIEJAR und CURLOPT_COOKIEFILE.

                zb hier: http://unter.strom.bz/44/curl-und-ph...cookie-nutzen/

                Kommentar


                • #9
                  Niemand ne ahnung? :/

                  Kommentar

                  Lädt...
                  X