Python program tillåter användare att logga in med inloggningsuppgifter . För att undvika dataintrång , bör du ingjuta någon form av log - in gräns för att undvika brute force attacker , som kännetecknas av hackare in flera lösenord tills de hittar den rätta . I detta fall , avsätta en log - in loggfil för att spåra hur mycket användaren log - in försök under en viss tidsperiod . Instruktioner
1
Skapa en logg script :
>>> def inloggning ( namn , passwd ) : . . . /* kontrollerar databasen för användarnamn och information * /. . .
2
Läs från loggen manus , som innehåller information om log - in försök . Detta bör ske innan eventuella frågor till databasen :
>>> def inloggning ( namn , passwd ) : . . . f = open ( ' /var /log /login.txt ' ) . . . Innehållet = f.read ( )
3
Kontrollera logga in försök genom att söka efter index för namnet och läsa linjen . Denna fil förutsätter att loggfilen kommer att följa ett format där varje rad representerar en användare och formateras som " username = login_attempts . " Till exempel, om Bob försökte logga in två gånger , skulle hans linje läste " Bob = 2 . "
. . . Innehållet = f.read ( ) . . . index = contents.find (namn). . . medan innehållet [ index ] = ' ' ! : . . . index + = 1 . . . index + = 2 . . . försök = innehållet [ index ]
4 p Om en användare gör mer log - in försök än tillåtet , neka åtkomst . Om inte , lägg till en till försök och lagrar i filen . I detta exempel är gränsen för log - in försök fyra :
. . . Om försöken == '4 ' : . . . ut " för många försök , avbryter ... " . . . tillbaka . . . annat : . . . /* frågedatabas för inloggningsuppgifter * /
5
Lägg ett log - in försök till listan :
. . . x = int ( innehållet [ index ] ) . . . x + = 1 . . . innehållet [ index ] = str ( x ) katalog