Einzelnen Beitrag anzeigen
  #1  
Alt 11.11.2005, 23:08:44
burpy burpy ist offline
Anfänger
 
Registriert seit: Nov 2005
Beiträge: 2
Mit CURL und PHP auf der Commerzbank-Seite einloggen

Hi,

ich versuche mich per CURL und PHP bei der Commerzbank einzuloggen, um die Umsätze meines Kontos auslesen zu können. Als erstes rufe ich die Startseite-Seite auf und lese die sog. wspl-ID aus. Dann sende ich mit CURL das Login-Formular ab, erhalte aber eine andere Fehlermeldung, als wenn ich das gleiche mit dem Browser machen würde. Hier scheitere ich dann.

Die UserID und das Passwort sind natürlich erfunden und funktionieren nicht, da ich ja nicht meine korrekten Daten weitergeben kann. Mit dem Browser kommt aber die Meldung, dass die Zugangsdaten nicht korrekt sind. Mit CURL kommt eine andere nichtsaussagende Fehlermeldung.

Cookies werden keine gesetzt und Javascript braucht die Seite auch nicht. Hat jemand von euch einen Tip für mich?

PHP-Code:
<?
class commerzbanking {

    function seite_einlesen($url, $formvars="", $header=true) {
        $user_agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)";
        $ch = curl_init($url);
        if($this->referer) {
            curl_setopt($ch, CURLOPT_REFERER, $this->referer);
            $this->referer = "";
        }
        curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
        curl_setopt($ch, CURLOPT_HEADER, $header);
        if($formvars) {
            curl_setopt($ch, CURLOPT_POSTFIELDS, $formvars);
        }
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
        $result = curl_exec($ch);
        curl_close($ch);
        return $result;
    }
    
    function login($userid, $pw) {
        $html_code = $this->seite_einlesen("https://portal01.commerzbanking.de/P-Portal/XML/IFILPortal/pgf.html?Tab=3");
        
        preg_match("/\"hidden\" name=\"WSPL_ID\" value=\"(.*?)\">/", $html_code, $output); // in der WSPL_ID steckt verschlüsselt die ZielURL drin
        $wspl_id = $output[1];
        
        $formvars["PltLogin_8_Anmeldename"] = $userid;
        $formvars["PltLogin_8_Pin"] = $pw;
        $formvars["WSPL_ID"] = $wspl_id;
        $formvars["PltLogin_8_btnLogin.x"] = "53";
        $formvars["PltLogin_8_btnLogin.y"] = "6";
        $this->referer = "https://portal01.commerzbanking.de/P-Portal/XML/IFILPortal/pgf.html?Tab=3";
        echo $html_code = $this->seite_einlesen("https://portal01.commerzbanking.de/P-Portal/XML/IFILPortal/pgf.html?Tab=1", $formvars);
    }
    
}

$commerzbanking = new commerzbanking();
$commerzbanking->login("1234567891", "12345");
?>