Hvordan sette opp skjemaautentisering

Hvordan sette opp skjemaautentisering


La oss si du har et nettsted som har informasjon er reservert for bare visse individer, og du vil ikke at hvem som helst få tilgang. En måte å hindre dem fra å komme inn restriksjonsområdet er å bruke skjemagodkjenning. Dette innebærer vanligvis å sette opp en innloggingsside der brukerne må skrive inn et passord for tilgang. Denne artikkelen vil vise hvordan du kan beskytte en hemmelighet webside nestet innenfor et CGI program skrevet i Perl. Andre server-side språk kan brukes til å utføre denne oppgaven, for eksempel ASP.NET eller C, men Perl er foretrukket her for dens fleksibilitet og relative letthet. Du trenger og mellom kjennskap til Perl og kunnskap om servere og FTP.

Bruksanvisning

skjemagodkjenning

1 Hvordan sette opp skjemaautentisering

Lag et passord påloggingssiden i teksteditoren. Dette gjøres i HTML som kaller et CGI-skript når du trykker på knappen. Et eksempel HTML script for å gjøre dette er gitt nedenfor:
<Html>
<Title> Autentisering </ title>
<Body>
<H1> Autentisering kreves </ h1>
<Hr>
<Form name = auth method = post action = "cgi-bin / pwd_in.cgi">
Type passord: <INPUT TYPE = passord NAME = "pwd" SIZE = 15 MAXLENGTH = 25>
<P> <INPUT TYPE = sende value = "Enter">
</ Form>
</ Body>
</ Html>

2 Lag et passord filen i en teksteditor som inneholder brukernavnene og passordene til de personer som har godkjenning for å gå inn på nettstedet. Informasjonen i filen nedenfor er avgrenset med tilpassede XML-koder. Du kan avgrense med hva du vil; Jeg måtte finne XML skilletegn svært pragmatisk. Lagre denne filen som "pwds.txt."
<Navn> Mike Smith </ name> <pw> 123abc </ pw>
<Navn> John Smith </ name> <pw> 456abc </ pw>
<Navn> Mary Smith </ name> <pw> 789abc </ pw>

3 Opprett CGI script. Følgende CGI Perl-skript tar brukerundersøkelser og sjekker det mot info i pwds.txt filen. Hvis passordet er riktig, hilser den brukeren ved navn og deretter åpner den hemmelige informasjonen. Hvis passordet ikke blir funnet, vises en feilmelding skrives ut. Lagre følgende skript som "pwd_in.cgi."

! / Usr / bin / perl-w

print "Content-Type: text / html \ n \ n";

bruke CGI;

$q = new CGI;
$pwd = $q->param('pwd');
$cgi = new CGI;

open (PWD, "& lt; pwds.txt");
$ Error = "& lt;! H2> Feil passord & lt; / h2> & lt; hr>";

while (<PWD>) {

if (/&lt;name>(.*?)&lt;\/name>&lt;pw>(.*)&lt;\/pw>/is){
$name{$1} = $1;
$pw{$1}=$2;
@p_words = $pw{$1};
}

foreach $ p (@p_words) {

if ($ p eq "$ pwd") {
$ Error = "";

print "& lt; head>
& Lt; title> The Secret siden & lt; \ / title>
& Lt; \ / head>
& Lt; h2> Hei $ name {$ 1} Glad du kunne gjøre det & lt;! / H2>
& Lt; hr>
& Lt; p> Her er topphemmelig informasjon & lt; / p>
& Lt; \ / body> ";

}
}

}
print $ feil;

4 Last opp filene. Last opp HTML-fil til HTML-mappen, og de to andre filer til cgi-bin.

5 Bruk chmod med cgi-filen. Du må kanskje gi tillatelser for eksterne brukere å få tilgang til denne filen. For å gi tillatelse, på unix, skriver du:

$ "Chmod 755 pwd_cgi"

6 Hvordan sette opp skjemaautentisering


Kjør programmet. Åpne HTML-fil og skriv inn en autentisk passord. Du vil få en side som hilser navnet at passordet er forbundet med så vel som en setning som sier: "Her er den hemmelige informasjonen." Skriv inn et dårlig passord eller ingen passord, og du vil få en feilmelding.

Hint

  • Kontroller alltid syntaks. Serveren vil gi deg en feilmelding hvis det er incorrect.When nødvendig chmod cgi program, spesielt hvis du bruker en UNIX server.
  • ASP.NET tilbyr en annen god måte å autentisere skjemaer ved å implementere cookies. Dette kan også gjøres i Perl. Men det er hacker-programmer lett tilgjengelig for å demontere cookie sikkerhet.Hvis den hemmelige informasjonen ikke er skrevet med en CGI-programmet, vil informasjonen være sårbar fordi brukeren kan få tilgang til det ved å skrive HTTP i nettleseren. Men det er umulig å gjøre med programmet gitt her fordi siden er opprettet dynamisk og trenger passord for å generere.