Tecnología

Inicio

Cómo limitar los inicios de sesión en el código Python

programas de Python permiten a los usuarios iniciar sesión en el uso de credenciales de registro de entrada. Con el fin de evitar la piratería, debe infundir algún tipo de límite de inicio de sesión para evitar ataques de fuerza bruta, que se caracterizan por los hackers que entran varias contraseñas hasta que encuentran la correcta. En este caso, dejar de lado un archivo de registro de inicio de sesión para realizar un seguimiento de la cantidad de intentos de inicio de sesión- lo largo de un determinado período de tiempo.

Instrucciones

1 Crear una secuencia de comandos de registro:

def login (nombre, passwd):
. . . /

Comprueba la base de datos para el nombre de usuario y /
. . .

2 Leer de la secuencia de comandos de registro, que contiene la información de intentos de registro de entrada. Esto debe ocurrir antes de cualquier consulta a la base de datos:

def login (nombre, passwd):
. . . f = open ( '/ var / log / login.txt')
. . . contenidos f.read = ()

3 Compruebe intentos log-in mediante la búsqueda de índice del nombre y la lectura de la línea. Este archivo se supone que el archivo de registro seguirá un formato en el que cada línea representa un usuario y tiene el formato "nombre de usuario = login_attempts." Por ejemplo, si Bob trató de conectarse dos veces, su línea se leería "Bob = 2."

. . . contenidos f.read = ()
. . . index = contents.find (nombre)
. . . mientras que el contenido [índice] = '':
. . . index + 1 =
. . . Índice + 2 =
. . . Intentos = contenido [índice]

4 Si un usuario hace más intentos para acceder al sistema de lo permitido, denegar el acceso. Si no es así, añadir una a intentos y almacenar en el archivo. En este ejemplo, el número de intentos de registro de entrada se cuatro:

. . . Si los intentos == '4':
. . . impresión 'Demasiados intentos, abortando ...'
. . . regreso
. . . más:
. . . /

Base de datos de consulta para las credenciales de inicio de sesión /

5 Añadir un intento de inicio de sesión a la lista:

. . . x = int (contenido [índice])
. . . x + = 1
. . . contenido [índice] = str (x)