KKentMedlem sedan juli 2000355 inlägg Trådstart#1 Hur bygger man ett login system i perl,
man ska kunna logga in på ett unikt id samt lösen.
Någon som råkar ha ett sådant script.
HHansenMedlem sedan aug. 2000374 inlägg SstevenetMedlem sedan juni 20001 251 inlägg Så här kanske?
#!/usr/bin/perl
my($buffer, @par, $i);
# Lds informationen
$buffer = "";
$buffer = $ENV{'QUERY_STRING'}
if $ENV{'REQUEST_METHOD'} eq 'GET';
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'})
if $ENV{'REQUEST_METHOD'} eq 'POST';
# Omvandla + till mellanslag
$buffer =~ tr/+/ /;
# Bygg en lista av namn och vdrden
@par = split /[&=]/, $buffer;
# Tolka kodade tal
foreach $par (@par)
{$par =~ s/%([0-9A-F]{2})/chr(hex($1))/egi;}
# Ldgg in i tabellen %form
for ($i=0; $i<$#par; $i+=2)
{
if ($FORM{$par[$i]})
{$FORM{$par[$i]}.= "\n".$par[$i+1];}
else
{$FORM{$par[$i]} = $par[$i+1];}
}
$LOCK_EX = 2;
$LOCK_UN = 8;
$fil = "fil.dat";
$action = $FORM{'action'};
print "Content-type: text/html\n\n";
&in if ($action eq 'in');
print "<h3><font face=\"Verdana\"Logga in</font></h3><p>\n";
print <<HTML;
V.g. ange Era uppgifter för att logga in.
<FORM METHOD="POST" ACTION="index.cgi">
<INPUT TYPE="hidden" NAME="action" VALUE="in">
ID-nummer:<BR>
<INPUT TYPE="text" NAME="id"><BR>
Lösenord:<BR>
<INPUT TYPE="text" NAME="losen"><BR>
<INPUT TYPE="submit" VALUE="Logga in">
</FORM>
HTML
exit;
sub in {
$in_id = $FORM{'id'};
$in_losen = $FORM{'losen'};
$hittat = 0;
open(meddb, "$fil");
&lock(meddb);
while(<meddb> ) {
$filen = $_;
($id,$losen) =
split(/|/, $filen);
if (($id eq $in_id) && ($losen eq $in_losen)){
$hittat++;
}
}
if($hittat == 0) {
print "<h3><font face=\"Verdana\">FEL! </font></h3><p>\n";
print "Lösenordet och/eller ID-nummret Ni angav var fel. V.g. försök igen genom att trycka på TILLBAKA-knappen din webbläsare och rätta till felet.\n";
exit;
}
print "Inloggad";
exit;
}
sub lock {
local($file)=@_;
flock($file, $LOCK_EX);
}
sub unlock {
local($file)=@_;
flock($file, $LOCK_UN);
}
[r]Glömde ett subprogram.[/r]
KKentMedlem sedan juli 2000355 inlägg Har ej haft tid att prova än,
hur lagras användarnamnet och lösenordet.
CssonMedlem sedan feb. 2000438 inläggOm jag inte ser fel hämtas namnet och lösenordet ur en fil med en användare per rad med utseendet:
namn|lösenord
Det finns dock ingen funktion för att spara en ny användare i det här scriptet.
/Csson
SstevenetMedlem sedan juni 20001 251 inlägg Nej, det finns ingen funktion för att spara nya användare i scriptet. Jag kan göra en sådan, om du säger hur du vill ha det upplagt.
JjakobMedlem sedan aug. 200017 inlägg Varför inte bara använda .htaccess ?