Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]12747[/thread]

Problem mit Http::Cookie

Leser: 1


<< >> 4 Einträge, 1 Seite
IceRage
 2008-11-11 12:31
#116178 #116178
User since
2008-09-07
93 Artikel
BenutzerIn
[default_avatar]
Hallo,

es geht um ein kleines Problem, dass aufgetaucht ist. Im Folgenden wird versucht, einen einfachen http POST req abzuschicken, und aus der res das cookie, für die weitere, automatisierte Arbeit auf den Seiten hinter dem Anmeldeformular, zu extrahieren.

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
my $ua = new LWP::UserAgent;
$ua->agent("MudGuard/1.0");
$ua->timeout(600);
my $content = "user_name=user&user_password=pass";
my $contlen = length($content);
my $cookie_jar = HTTP::Cookies->new();
my $req = HTTP::Request->new("POST", "http://domain.de/login");
$req->header("content-length" => $contlen);
$req->header("content-type" => "application/x-www-form-urlencoded");
$req->header("content-encoding" => "iso-8859-1");
$req->content($content);
my $res = $ua->request($req);
$cookie_jar->extract_cookies($res);



Hier ist dann ein Beispiel für den Aufruf einer Seite "hinter" dem Anmeldeformular. Hier soll einfach nur gezeigt werden wie die Verwendung von add_cookie_header($req) stattfindet, um eine Mögliche Falschverwendung auszuschließen.

Code (perl): (dl )
1
2
3
4
        $req = HTTP::Request->new("GET", "http://domain.de/SeiteHinterDemLogin");
$req->header("content-type" => "multipart/form-data");
$req->header("content-encoding" => "iso-8859-1");
$cookie_jar->add_cookie_header($req);




Wenn nun aber SeiteHinterDemLogin aufgerufen wird, erscheint nur eine Fehlermeldung. So weit bekannt, sind die Seiten für das Loginformular, und alle weiteren Seiten mit Ajax Technologie erstellt worden. Die Frage taucht nun auf, ob es somit überhaupt möglich ist, einen Login über CPAN:HTTP::Cookies umsetzen zu können, oder ob die seiten vielleicht für derart Loginversuche mittels Ajax, "gesperrt" sein könnten. Auf anderen Seiten funktioniert die beschriebene Prozedur zum Einloggen sonst ganz gut.

Des weiteren scheint mir der URL: http://domain.de/login, also ohne Dateiendung, ebenfalls eine Möglichkeit der Behinderung, durch Einloggen über CPAN:HTTP::Cookies sein zu können. Auch hier die Frage: Ist das möglich?

Schlussendlich wird als Pfad im Action Attribut, des Login Formulars lediglich die Angabe: /login gemacht. Dort befindet sich kein sollständiger URL, und ebenfalls auch keine Dateiendung, so wie man es von Login Formularen gewöhnt ist, auf denen CPAN:HTTP::Cookies sicher funktioniert hätte. Ebenfalls die Frage: Ob hier eine Behinderung möglich ist.


Gruß, IceRage
renee
 2008-11-11 12:50
#116180 #116180
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das sollte im Prinzip so funktionieren. Hast Du mal überprüft, welche Parameter vom Browser gesendet werden? Und welche Du mit dem Skript sendest? Um so etwas zu analysieren kann man gut HTTPLiveHeaders für den Firefox verwenden.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
IceRage
 2008-11-11 14:07
#116189 #116189
User since
2008-09-07
93 Artikel
BenutzerIn
[default_avatar]
Danke für den Tipp, werde ich ausprobieren.

Bisher habe ich nur die Textinputfelder aus dem Forumlar als gesendete Variablen genommen. Hiddenfelder waren da nicht, und der Submitbutton hat auch keinen namen.

Ich schaue mir das an, und melde mich ggf. zurück.

Gruß, IceRage
IceRage
 2008-11-11 20:17
#116196 #116196
User since
2008-09-07
93 Artikel
BenutzerIn
[default_avatar]
Jo habs doch noch hinbekommen .. da war ein redirect dazwischen. Aber HTTPLiveHeaders ist echt cool, muss ich sagen ;-) thx.
<< >> 4 Einträge, 1 Seite



View all threads created 2008-11-11 12:31.