Schrift
[thread]3038[/thread]

POST-Form senden+ PHPSESSION als Authentifizierung



<< >> 5 Einträge, 1 Seite
toby
 2006-10-10 19:57
#28669 #28669
User since
2006-04-14
66 Artikel
BenutzerIn
[default_avatar]
Hallo Forum,

ich habe mir LWP::UserAgent angeschaut und eine gültige POST Anfrage für ein Formular gebastelt. Nun möchte ich diese zum Server schicken, allerdings fordert der Server eine Authentifizierung anhand von PHPSESSION. Die PHPSESSION würde ich zur Not vom Browser per copy&paste holen und an das Script übergeben, es sei denn, auch dafür gäbe es eine Lösung.

Wie ist dies zu bewerkstelligen?

Für jeden Tip danke schön! :)
Tobias
renee
 2006-10-10 20:22
#28670 #28670
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wie bekommst Du denn die Session-ID beim Browser?

Wird die in einem Cookie gespeichert?

Ich würde den Traffic zum Beispiel mit dem LiveHTTPHeaders-Plugin für Firefox anschauen und analysieren wo Du beim Browser die ID herbekommst. Und genau diesen Pfad würde ich nachbilden...
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/
toby
 2006-10-10 21:02
#28671 #28671
User since
2006-04-14
66 Artikel
BenutzerIn
[default_avatar]
Hallo rene, hallo Forum,

ja, das wird als Cookie übertragen (hätte ich ja vorher direkt bescheidsagen können). Nur, wie setze ich mit LWP::UserAgent so ein Cookie für die POST-Anfrage? Mit "push_header"? Wäre das richtig so?

Code: (dl )
$ua->default_headers->push_header("Cookie" => "PHPSESSID=a703b46374933aa4f0deb2b2b7c9ba0e");


Im LWP::UserAgent steht zwar was von Cookies, allerdings sehe ich nach so einem Konstrukt kein Cookie im Header:

Code: (dl )
$ua->cookie_jar(HTTP::Cookies->new("PHPSESSID=a703b46374933aa4f0deb2b2b7c9ba0e"));


Was wäre die richtige Weise so ein Cookie zu setzen?

Danke und viele Grüße! :)
Tobias\n\n

<!--EDIT|toby|1160499849-->
renee
 2006-10-10 21:10
#28672 #28672
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Du musst einfach ein Cookie_jar erstellen. Dann sollte es klappen...

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/usr/bin/perl

use strict;
use warnings;
use LWP::UserAgent;
use HTTP::Cookies;

# domain um das cookie zu bekommen
my $initial_url = 'http://some.domain.tld/';

my $agent = LWP::UserAgent->new();
$agent->timeout(10);

my $cookie_jar = HTTP::Cookies->new();
$agent->cookie_jar($cookie_jar);
$agent->get($initial_url);
$agent->post($second_url,\%form_data);


Ist natürlich nicht vollständig...
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/
renee
 2006-10-10 21:11
#28673 #28673
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=toby,10.10.2006, 19:02][...]

Im LWP::UserAgent steht zwar was von Cookies, allerdings sehe ich nach so einem Konstrukt kein Cookie im Header:

Code: (dl )
$ua->cookie_jar(HTTP::Cookies->new("PHPSESSID=a703b46374933aa4f0deb2b2b7c9ba0e"));


Was wäre die richtige Weise so ein Cookie zu setzen?

Danke und viele Grüße! :)
Tobias[/quote]
Ja, so sollte es funktionieren...
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/
<< >> 5 Einträge, 1 Seite



View all threads created 2006-10-10 19:57.