Hej,
her er et password script:
---------------------------------------
#!/usr/local/bin/perl
$datfile = 'password.dat';
$logfile = 'password.log';
# ------ Program ------
&hent_indtast;
&check_indtast;
&vis_ok;
exit;
# ------- Sub -------
sub check_indtast {
open(LOG, "$datfile");
$url=<LOG>;
chop $url;
$lognr = 0;
while($line=<LOG>){
chop $line;
if ($line){
($lna, $lpa) = split(/&/, $line, 2);
$lognr ++;
$logn{$lognr} = lc($lna);
$logp{$lognr} = lc($lpa);
}
}
close(LOG);
if ($FORM{'Navn'} eq "root" && $FORM{'Password'} eq "root") {
&vis_ok;
exit;
}
$er_der=0;
for ($nlognr=1; $nlognr<=$lognr; $nlognr++) {
if (lc($logn{$nlognr}) eq lc($FORM{'Navn'})) {
$er_der=1;
if (lc($logp{$nlognr}) eq lc($FORM{'Password'})) {
$er_der=2;
}
}
}
open(LOG, ">>$logfile");
$time = localtime;
print LOG "$FORM{'Navn'}\&$FORM{'Password'}\&$time\n";
close(LOG);
if ($er_der == 0) {
&html_head;
&fejl_navn;
&html_foot;
exit;
}
if ($er_der == 1) {
&html_head;
&fejl_pass;
&html_foot;
exit;
}
}
sub hent_indtast {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
$pair =~ s/\+/ /g;
($name, $value) = split(/=/, $pair, 2);
$name =~ s/%(..)/pack("c",hex($1))/ge;
$value =~ s/%(..)/pack("c",hex($1))/ge;
$FORM{$name} = $value;
}
}
sub html_head {
print "Content-type: text/html\n\n";
}
sub html_foot {
print <<END_OF_TEXT;
</body>
</html>
END_OF_TEXT
}
sub vis_ok {
print "Location: $url\n\n";
}
sub fejl_navn {
print <<END_OF_TEXT;
<html>
<head>
<title>Password</title>
</head>
<body>
<center>
Forkert brugernavn!<br>
Tryk på back eller tilbage knappen og ret fejlen.<br><br>
<font size=-1>Password-system by <a href="
http://www.nof.dk" target=_new>NOF.DK</font>
</center>
END_OF_TEXT
}
sub fejl_pass {
print <<END_OF_TEXT;
<html>
<head>
<title>Password</title>
</head>
<body>
<center>
Forkert password!<br>
Tryk på back eller tilbage-knappen og ret fejlen.<br><br>
<font size=-1>Password-system by <a href="
http://www.nof.dk" target=_new>NOF.DK</font>
</center>
END_OF_TEXT
}
---------------------------------------
Denne kode gemmes som password.cgi .
Derefter laver du en fil som du gemmer som password.dat - den skal have følgende indhold:
http://www.somewhere.com bruger1&1234
bruger2&4321
der hvor der nu står
http://www.somewhere.com skal du skrive hele adressen til den fil som skal beskyttes.
der hvor der står bruger1&1234 , skal du skrive det ønskede brugernavn. lade & tegnet være og derefter skrive det ønskede password.
I næste linje kan du gøre det samme hvis du ønsker at flere der skal være flere brugere.
Til sidst laver du en fil som UDEN indhold, den skal gemmes som password.log .
Til sidst en html kode som du indsætter på din side.
<FORM ACTION="password.cgi" METHOD=POST>
<table border=0 CELLPADDING=0 CELLSPACING=0>
<tr><td>Brugenavn: </td><td><INPUT name="Navn" size=20></td></tr>
<tr><td>Password: </td><td><INPUT TYPE="PASSWORD" name="Password" size=20></td></tr>
<tr><td colspan=2><center><INPUT type="submit" value=" Login "></center></td></tr>
<tr><td colspan=2><center><font size=-1>Password-system by <a href="
http://www.nof.dk" target=_new>NOF.DK</font></center></td></tr>
</table>
</form>
Det var det - håber at du kan få det til at virke, ellers må du bare spørge igen.
/nof