Este es un sencillo ejemplo de un código que todo aquel que conozca de Python y del protocolo HTTP tiene que saber si quiere implementar una sencilla aplicación donde sea necesario autenticación web de tipo básica.
Código de ejemplo:
#sencillo ejemplo. es tan sencillo que solo lo escribí y hasta hoy lo vuelvo a revisar,
#cualquier error, o función innecesaria puede ser corregido.
import socket
import base64
so = socket.socket()
autenticacion = base64.b64encode(b'Admin:123456789')
auu = str(autenticacion, 'utf-8')
so.connect(('localhost',80))
web = '''GET /phpMyAdmin/ HTTP/1.0
Host: localhost
Referer: localhost
Authorization: Basic ''' + auu + '''
''' # debemos recordad el doble salto de linea.
so.send((web).encode('utf-8'))
rec = so.recv(4000)
print(rec.decode('utf-8'))
print(web)
Una cosa más, esta es una autenticación básica, lo que significa que puede ser escuchada y descifrada si existe alguien entre tu cliente web (ya sea un navegador o una aplicación cualquiera) y el servidor. Esto no es muy fiable porque las credenciales solo se cifran en Base64.
Por recomendación, esta usar el otro sistema de autenticación (ver fuentes) en la cual se aplica la función hash a los datos antes de que sean enviados.
El código es creación miá usando Python, el lenguaje de programación interpretado multiplataforma
Fuentes:
Base64, https://es.wikipedia.org/wiki/Base64
Autenticación digest HTTP, https://es.wikipedia.org/wiki/Digest_access_authentication
Tipos de autenticación, http://www.ehowenespanol.com/tipos-autenticacion-web-lista_314874/
Función Hash, https://es.wikipedia.org/wiki/Funci%C3%B3n_hash
Código de ejemplo:
#sencillo ejemplo. es tan sencillo que solo lo escribí y hasta hoy lo vuelvo a revisar,
#cualquier error, o función innecesaria puede ser corregido.
import socket
import base64
so = socket.socket()
autenticacion = base64.b64encode(b'Admin:123456789')
auu = str(autenticacion, 'utf-8')
so.connect(('localhost',80))
web = '''GET /phpMyAdmin/ HTTP/1.0
Host: localhost
Referer: localhost
Authorization: Basic ''' + auu + '''
''' # debemos recordad el doble salto de linea.
so.send((web).encode('utf-8'))
rec = so.recv(4000)
print(rec.decode('utf-8'))
print(web)
Una cosa más, esta es una autenticación básica, lo que significa que puede ser escuchada y descifrada si existe alguien entre tu cliente web (ya sea un navegador o una aplicación cualquiera) y el servidor. Esto no es muy fiable porque las credenciales solo se cifran en Base64.
Por recomendación, esta usar el otro sistema de autenticación (ver fuentes) en la cual se aplica la función hash a los datos antes de que sean enviados.
El código es creación miá usando Python, el lenguaje de programación interpretado multiplataforma
Fuentes:
Base64, https://es.wikipedia.org/wiki/Base64
Autenticación digest HTTP, https://es.wikipedia.org/wiki/Digest_access_authentication
Tipos de autenticación, http://www.ehowenespanol.com/tipos-autenticacion-web-lista_314874/
Función Hash, https://es.wikipedia.org/wiki/Funci%C3%B3n_hash
No hay comentarios:
Publicar un comentario