Schrift
[thread]5367[/thread]

Session-Modul schreiben: Würde gerne, aber nicht alleine



<< |< 1 2 >| >> 16 Einträge, 2 Seiten
pktm
 2003-09-11 23:20
#48879 #48879
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hallo!
Also ich verwende immer folgenden Code zur erstellung / prüfung stc. von Sessions ohne irgendwelche Daten zu speichern, also SessionImRequest (s. Wiki).
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
sub validate_login{
# ---- usage
# if( validate_login( $query->{usn}, $query->{pwd} ) ){ print "Login ok!\n"; }
# ---- requirements
# modul: Crypt::PasswdMD5
# $passfile -> File mit USN|PWD(cryptedBy: Crypt::PasswdMD5)\n
my ($usn, $pwd) = @_;
my $return = 0;
open(DAT, $passfile) || die "$! ($passfile)";
flock DAT, 1 if UNIX;
my @passfile = <DAT>;
close(DAT);
foreach ( @passfile ){
chomp $_;
if( $usn eq (split /\|/,$_)[0] ){
if (unix_md5_crypt($pwd, (split /\|/,$_)[1])
eq (split /\|/,$_)[1] ) {
# Passwort in Ordnung
$return = 1;
}else{
$return = 0;
}
}else{
$return = 0;
}
}
return $return;
}
# --------------------------------------------------------
sub validate_session{
# ---- usage
# if( validate_session( $sessionDataToValidate ) ){ print "Session Ok!\n"; }
# ----
# prüfen, ob gültige sid: a)muster b)haltbarkeit
my $session = $_[0];
my $return = 0;
if( $session =~ /\d{10}XY\d*PT\d{10}/
and (split /XY/, $session)[0] > time() - SESSION_TIME ){
$return = 1;
}
return $return;
}
# --------------------------------------------------------


So, ich würde daraus gerne ein Modul machen, da es das meines Wissnes ncoh nicht gibt.
Hilft mir wer dabei?
Mögliche Erweiterungen für später wären z.B.
1. auslesen der Passwortdaten aus Datenbanken.
2. speichern der Daten in Cookies

Wer hilft mir?
mfg pktm
http://www.intergastro-service.de (mein erstes CMS :) )
Crian
 2003-09-11 23:25
#48880 #48880
User since
2003-08-04
5870 Artikel
ModeratorIn
[Homepage]
user image
Wie stellst Du Dir denn die Hilfe vor?

Pack ein
Code: (dl )
1
2
3
4
5
package MeinPaket;

use Exporter;
our @ISA = ('Exporter');
our @EXPORT_OK = qw(validate_login validate_session);


davor und ein

Code: (dl )
return 1;

dahinter...\n\n

<!--EDIT|Crian|1063308484-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
SirLant
 2003-09-11 23:32
#48881 #48881
User since
2003-08-04
516 Artikel
BenutzerIn
[default_avatar]
Hast du dir schon einmal
Apache::Session
angesehen?
--Programming today is a race between Software Enginers striving to build bigger and better idiot-proof Programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
Crian
 2003-09-11 23:33
#48882 #48882
User since
2003-08-04
5870 Artikel
ModeratorIn
[Homepage]
user image
Nö. Ich dachte, Du möchtest ein Perl-Modul daraus machen?!
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
havi
 2003-09-11 23:35
#48883 #48883
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
[quote=Crian,11.09.2003, 21:25]Wie stellst Du Dir denn die Hilfe vor?

Pack ein
Code: (dl )
1
2
3
4
5
package MeinPaket;

use Exporter;
our @ISA = ('Exporter');
our @EXPORT_OK = qw(validate_login validate_session);


davor und ein

Code: (dl )
return 1;

dahinter...[/quote]
... und mach aus .pl ein .pm :)
Crian
 2003-09-11 23:46
#48884 #48884
User since
2003-08-04
5870 Artikel
ModeratorIn
[Homepage]
user image
Äh ach ja, genau... aber irgendwie scheint die Sache komplizierter zu sein, wie mir Antwort 3 deucht...
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
havi
 2003-09-12 00:11
#48885 #48885
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
Da wirst du wohl recht haben...
havi
 2003-09-12 00:12
#48886 #48886
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
Da fällt mir ein, ich sollte mal wieder schauen obs neue Windows-Updates gibt! Ich tippe mal auf JA :)

Gruss
Geewiz
 2003-09-30 15:12
#48887 #48887
User since
2003-09-29
69 Artikel
BenutzerIn
[Homepage] [default_avatar]
Das gibt's bereits in Form von CGI::Session::Auth. Bisher gibt es Subklassen für Dateien und für DBI.

Erhältlich über CPAN oder meine Homepage (s.u.).
pktm
 2003-09-30 19:22
#48888 #48888
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
[quote=SirLant,11.09.2003, 21:32]Hast du dir schon einmal
Apache::Session
angesehen?[/quote]
Würde gerne, nur ppm bringt mir den Fehler, das PPD-File würde nicht gefunden.
So nebenbei gefragt, wie bringe ich denn die Datei mit den Passwörtern in das Modul?
Kann ich das mit dem Konstruktor irgendwie übergeben?
mfg pktm
http://www.intergastro-service.de (mein erstes CMS :) )
<< |< 1 2 >| >> 16 Einträge, 2 Seiten



View all threads created 2003-09-11 23:20.