php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2010

 
 
LinkBack Themen-Optionen Bewertung: Bewertung: 3 Stimmen, 2,33 durchschnittlich.
Alt 03.10.2010, 14:10  
Neuer Benutzer
 
Registriert seit: 03.10.2010
Beiträge: 3
PHP-Kenntnisse:
Anfänger
FraMic befindet sich auf einem aufstrebenden Ast
Standard cUrl Login

Hallo Community,

bin heute das erste mal diesem Forum und benötige professionelle Hilfe beim Login auf einer ASPX Seite.

Habe bereits mehrere Tage damit verbracht, mit verschiedenen Tutorials und Code Snippets mein "kleines Projekt" zum Leben zu erwecken, bis jetzt leider ohne Erfolg.

Vielleicht habe ich auch die falschen Suchbegriffe eingegeben, konnte jedoch auf diesem, wie auch in anderen Foren oder bei G**gle nichts passendes finden.

Was bisher geschah :

Mit folgendem Code :
PHP-Code:
<?php
 
/*
 * username = testuser*account, passwort=abc123
 */
 
 
curl_login('https://www.MyDomain.com/Login.aspx','__VIEWSTATE=%2FwEP... und weitere 15000 ZeichenjD63&tbUsername=testuser*account&tbPassword=abc123&cbRememberMe=on&btnLogin=Login','','off');
 
echo 
curl_grab_page('https://www.MyDomain.com/Restricted/','','off');

function 
curl_login($url,$data,$proxy,$proxystatus){
    
$fp fopen("cookie.txt""w");
    
fclose($fp);
    
$login curl_init();
    
curl_setopt($loginCURLOPT_COOKIEJAR"cookie.txt");
    
curl_setopt($loginCURLOPT_COOKIEFILE"cookie.txt");
    
curl_setopt($loginCURLOPT_USERAGENT"Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
    
curl_setopt($loginCURLOPT_TIMEOUT40);
    
curl_setopt($loginCURLOPT_RETURNTRANSFERTRUE);
    if (
$proxystatus == 'on') {
        
curl_setopt($loginCURLOPT_SSL_VERIFYHOSTFALSE);
        
curl_setopt($loginCURLOPT_HTTPPROXYTUNNELTRUE);
        
curl_setopt($loginCURLOPT_PROXY$proxy);
    }
    
curl_setopt($loginCURLOPT_URL$url);
    
curl_setopt($loginCURLOPT_HEADERTRUE);
    
curl_setopt($loginCURLOPT_USERAGENT$_SERVER['HTTP_USER_AGENT']);
    
curl_setopt($loginCURLOPT_FOLLOWLOCATIONFALSE);
    
curl_setopt($loginCURLOPT_POSTTRUE);
    
curl_setopt($loginCURLOPT_POSTFIELDS$data);
    
ob_start();      // prevent any output
    
$ret curl_exec ($login); // execute the curl command
    
ob_end_clean();  // stop preventing output
    
curl_close ($login);
    unset(
$login);
    
}
 
function 
curl_grab_page($site,$proxy,$proxystatus){
    
$ch curl_init();
    
curl_setopt($chCURLOPT_RETURNTRANSFERTRUE);
    if (
$proxystatus == 'on') {
        
curl_setopt($chCURLOPT_SSL_VERIFYHOSTFALSE);
        
curl_setopt($chCURLOPT_HTTPPROXYTUNNELTRUE);
        
curl_setopt($chCURLOPT_PROXY$proxy);
    }
    
curl_setopt($chCURLOPT_COOKIEFILE"cookie.txt");
    
curl_setopt($chCURLOPT_URL$site);
    
ob_start();      // prevent any output
    
$ret curl_exec ($ch); // execute the curl command
    
ob_end_clean();  // stop preventing output
    
curl_close ($ch);
    return 
$ret;
}

?>
erhalte ich folgenden cookie :
Code:
# Netscape HTTP Cookie File
# http://curlm.haxx.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.

www.MyDomain.com	FALSE	/	FALSE	0	AspxAutoDetectCookieSupport	1
Mit diesem Code bekomme ich
PHP-Code:
<?php

$url
="https://www.MyDomain.com/Login.aspx"
            
$ch curl_init(); 

//Variablen setzen 
$arrSubmit="__LASTFOCUS=&__VIEWSTATE=%2F... und weitere 15000 Zeichen ... DMyyYC6%2BQ%3D%3D&__EVENTTARGET=&__EVENTARGUMENT=&__EVENTVALIDATION=%2FwEWBQK%2BvLXpBQLStq24BwK3jsrkBALX%2BPD1CQKC3IeGDMVJNIIrUyRdfCgaeE%2FV2cbXDqxeNdBVVyEGjMNqWmrJ&tbUsername=testuser*account&tbPassword=abc123&cbRememberMe=on&btnLogin=Login";
$ref_url="https://www.MyDomain.com/"

            
$cookies="cookies.txt"
            
//Session Optionen setzen 

curl_setopt($chCURLOPT_URL,$url); 
curl_setopt($chCURLOPT_POSTtrue); 
curl_setopt($chCURLOPT_POSTFIELDS$arrSubmit); 
curl_setopt($chCURLOPT_FOLLOWLOCATIONtrue);

curl_setopt($chCURLOPT_AUTOREFERERtrue);

curl_setopt($chCURLOPT_COOKIESESSIONtrue);
 
curl_setopt($chCURLOPT_HEADERtrue); 
curl_setopt($chCURLOPT_COOKIEJAR$cookies); 
curl_setopt($chCURLOPT_COOKIEFILE$cookies);


//Ausf hren der Aktionen 
$result curl_exec($ch); 
$code curl_getinfo ($chCURLINFO_HTTP_CODE); 

switch(
$code

case 
200
$message 'Access Granted'
$success 1
break; 
case 
401
$message 'Access Denied'
break; 
default: 
$message 'Result unknown, access denied.'
break; 

//Session beenden 

echo $message.$code.$result;
?>
folgenden Header angezeigt :
Zitat:
HTTP/1.1 100 Continue HTTP/1.1 302 Found Cache-Control: private Content-Length: 158 Content-Type: text/html; charset=utf-8 Location: /Login.aspx?AspxAutoDetectCookieSupport=1 Server: Microsoft-IIS/7.5 X-AspNet-Version: 4.0.30319 Set-Cookie: AspxAutoDetectCookieSupport=1; path=/ X-Powered-By: ASP.NET p3p: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT" Date: Sun, 03 Oct 2010 11:55:45 GMT HTTP/1.1 200 OK Cache-Control: private Content-Length: 28607 Content-Type: text/html; charset=utf-8 Server: Microsoft-IIS/7.5 X-AspNet-Version: 4.0.30319 Set-Cookie: ASP.NET_SessionId=aj5vyvxmfiibl51fsg3vrpy5; path=/; HttpOnly X-Powered-By: ASP.NET p3p: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT" Date: Sun, 03 Oct 2010 11:55:45 GMT

Darunter steht noch : Access Granted ... was ja schonmal erfolgversprechend aussieht ...

Der Cookie beinhaltet :
Code:
# Netscape HTTP Cookie File
# http://curlm.haxx.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.

www.MyDomain.com	FALSE	/	FALSE	0	AspxAutoDetectCookieSupport	1
#HttpOnly_www.MyDomain.com	FALSE	/	FALSE	0	ASP.NET_SessionId	rsnw4pyvxotbc0lshqtwxoj1

Beide Codes bleiben auf der Login Seite stehen und gehen nicht auf die Backend Seite hinter dem Formular ...

Kann mir bitte jemand helfen, da ich absolut nicht mehr weiter weiss ?
Habe auch schon jemanden gefragt, der sich mit cUrl auskennt. Leider hat er nach kurzer Zeit aufgegeben.

Vielen Dank im voraus
FraMic

Geändert von FraMic (03.10.2010 um 14:24 Uhr).
FraMic ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 03.10.2010, 14:36  
hts
Erfahrener Benutzer
 
Registriert seit: 07.09.2010
Beiträge: 724
PHP-Kenntnisse:
Fortgeschritten
hts befindet sich auf einem aufstrebenden Ast
Standard

Der Server sendet einen REDIRECT (HTTP Statuscode 302).
CURLOPT_FOLLOWLOCATION könnte da helfen.

Geändert von hts (03.10.2010 um 14:40 Uhr).
hts ist offline  
Alt 03.10.2010, 14:40  
hts
Erfahrener Benutzer
 
Registriert seit: 07.09.2010
Beiträge: 724
PHP-Kenntnisse:
Fortgeschritten
hts befindet sich auf einem aufstrebenden Ast
Standard

[EDIT] Oh sorry, gerade gesehen, den Parameter benutzt du ja schon.
hts ist offline  
Alt 03.10.2010, 15:23  
Neuer Benutzer
 
Registriert seit: 03.10.2010
Beiträge: 3
PHP-Kenntnisse:
Anfänger
FraMic befindet sich auf einem aufstrebenden Ast
Standard

Für das obere Script erhalte ich nur die Meldung :

Object moved to here.

Angezeigt wird dabei der Domainname, auf der das Script liegt
http://www.ScriptDomain.de/Login.aspx?ReturnUrl=%2fRestricted%2f&AspxAutoDete ctCookieSupport=1

, also nicht der Name der auszuführenden Seite ...
http://www.MyDomain.de/Login.aspx?ReturnUrl=%2fRestricted%2f&AspxAutoDete ctCookieSupport=1

Vielleicht hilft das bei der Fehlersuche

Geändert von FraMic (03.10.2010 um 15:27 Uhr).
FraMic ist offline  
Alt 05.10.2010, 08:15  
Neuer Benutzer
 
Registriert seit: 03.10.2010
Beiträge: 3
PHP-Kenntnisse:
Anfänger
FraMic befindet sich auf einem aufstrebenden Ast
Standard

Sorry, aber ich bekomme das nicht hin und benötige Eure Hilfe.

Danke im voraus
FraMic
FraMic ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
curl tumblr-api login hansen PHP Tipps 2010 1 25.09.2010 21:40
Login script zeigt immer formular an auch wenn eingeloggt sein sollte salix PHP Tipps 2010 2 28.03.2010 22:21
Mit curl Bilder anzeigen AllOnline PHP Tipps 2010 2 03.02.2010 22:48
login mit datenbank und sessions kael PHP Tipps 2009 4 23.11.2009 21:10
PHP CURL Cookie Login geht nicht 1234d1 PHP Tipps 2009 3 04.09.2009 19:18
Login mit Curl WAY_KOW PHP-Fortgeschrittene 5 18.04.2009 22:49
Curl mit Server-IP fettyteddy PHP-Fortgeschrittene 1 10.03.2009 21:01
Curl mehrere URLs öffnen in einer Curl Session. Buschdieb PHP Tipps 2008 8 20.12.2008 13:01
CURL funktieonieren nicht bazik PHP-Fortgeschrittene 12 07.11.2008 09:43
Forum Login per curl leb0rtran PHP Tipps 2008 1 19.03.2008 12:47
Etwas komplexerer Login --> Keine Angst, Suche benutzt dethlef14 PHP Tipps 2006 7 02.10.2006 00:35
Session Logout Login Navigation TailerD PHP Tipps 2006 10 24.06.2006 17:12
phpBB Loginscript in eigenes Login Script einbinden 2wuck PHP Tipps 2007 4 19.12.2005 23:10
[Erledigt] Login, LogIn, Anmelden, Einloggen -&amp;amp;amp;amp;gt; ??? Off-Topic Diskussionen 20 14.07.2005 11:01
[Erledigt] PHP nachträglich mit CURL Support ausstatten PHP-Fortgeschrittene 2 20.12.2004 16:19

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php curl login, curl login, curl php login, php curl einloggen, http://www.php.de/php-einsteiger/72468-curl-login.html, php login curl, curl login cookie, curl login php, php curl anmeldung, curl php login cookie, php curl login beispiel, php curl login session, curl_grab_page, curl einloggen php, php curl login cookie, php login with curl, curl php, php curl login to site, curl_exec false, php login mit curl

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:16 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum