Python -programmer giver brugerne mulighed for at logge ind med login- legitimationsoplysninger. For at undgå hacking , bør du indgyde en slags log -in grænse for at undgå brute force -angreb , der er karakteriseret af hackere ind flere adgangskoder , indtil de finder den rigtige. I dette tilfælde skal afsætte en log -in logfil til at spore mængden af brugerens login forsøg overalt i en bestemt periode. Instruktioner
1
Opret en log script : Hej
>>> def login (navn, passwd ) : . . . /* tjekker database for brugernavn og information * /. . .
2
Læs fra loggen script , som indeholder oplysninger om log -in forsøg . Dette bør ske forud for eventuelle forespørgsler til databasen : Hej
>>> def login (navn, passwd ) : . . . f = open ( ' /var /log /login.txt «). . . Indholdet = f.read ()
3
Check logge ind forsøg ved at søge efter indekset for navnet og læse linjen. Denne fil forudsætter, at logfilen vil følge et format , hvor hver linje repræsenterer en bruger og er formateret som " brugernavn = login_attempts . " For eksempel, hvis Bob forsøgte at logge på to gange ville hans linje læses " Bob = 2 . "
. . . Indholdet = f.read ( ) . . . index = contents.find (navn) . . . mens indholdet [ indeks] = ' '! : . . . indeks + = 1 . . . indeks + = 2 . . . forsøg = indholdet [ index ]
4 p Hvis en bruger giver mere login forsøg end tilladt, nægte adgang . Hvis ikke , skal du tilføje en til forsøg og opbevar det i filen. I dette eksempel er grænsen for log -in forsøg fire : Hej
. . . hvis forsøg == '4 ' :. . . print ' Alt for mange forsøg , Afbryder ... «. . . tilbage . . . else: . . . /* query database for loginoplysninger * /
5
Tilføj en log -in forsøg til listen : Hej
. . . x = int ( indholdet [ indeks] ) . . . x + = 1 . . . indholdet [ index ] = str (x )