[GastForen Archiv Perl und CGI

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste

Passwort ändern

Hanü
Beiträge gesamt: 219

6. Dez 2002, 00:45
Bewertung:

gelesen: 7549

Beitrag als Lesezeichen
Habs geändert, funktioniert aber trotzdem nicht :(

Kleine Bitte: Könntet ihr den Teil nochmal genauer erklären (Zeilenweise)?! Was ist eigentlich PWL und BKP? Danke.


_________________________________________
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/<!--(.|\n)*-->//g;
$value =~ s/<([^>]|\n)*>//g;

$FORM{$name} = $value;
}

&candc;

sub austausch()
{
open(PWL, "$passwd_pfad") || &error("Kann Passwort-Datei nicht öffnen: $!");
@pwl = <PWL>;
close(PWL) || &error("Kann Passwort-Datei nicht schließen: $!");
open(BKP,">$passwdbackup") || &error("Kann Sicherungsdatei nicht öffnen: $!");
open(PWL,">$passwd_pfad") || &error("Kann PWL-DAT nicht öffnen: $!");

foreach $line (@pwl)
{
print BKP $line;
($user, $pw) = split(/:/,$line);
chomp($pw);
if($user eq $name && $pw eq $cpassold)
{
print PWL "$name:$cpassnew\n";
}
else
{
print PWL $line;
}
[..]

sub candc()
{
$vorhanden = "nein";
$cpassold = crypt($passold, "YL");
if($pass1 ne $pass2)
{
&error("Die beiden neuen Passw&ouml;rter stimmen nicht &uuml;berein, bitte korrigieren Sie");
}
else
{
open(PWL, "$passwd_pfad") || &error("Kann Passwort-Datei nicht öffnen: $!");
@pwlist = <PWL>;
close(PWL);

foreach $pl (@pwlist)
{
($user, $pw) = split(/:/, $pl);
chomp($pw);
if(($user eq $name) && ($pw eq $cpassold))
{
$cpassnew = crypt($pass1, "YL");
$vorhanden = "ja";
}
}
if($vorhanden eq "ja")
{
&austausch;
}
else
{
&error("Benutzername und Kennwort passen nicht zueinander, bitte beide Eingaben &uuml;berpr&uuml;fen!");

(Dieser Beitrag wurde von Hanü am 6. Dez 2002, 01:35 geändert)
Dieser Beitrag wurde nicht geändert.