es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Mejor enfoque para asegurar las credenciales de cuenta de usuario al utilizar Selenium con Python.

Estaba jugando con Selenium y Python y escribiendo un programa que iniciaría sesión en el sitio web de una de mis pizzerías locales y realizaría mi pedido regular con un solo clic.

Luego, me entró la curiosidad por saber cuál sería el mejor enfoque para proteger las credenciales de inicio de sesión en una situación como esta, ya que el nombre de usuario y la contraseña se escriben directamente en el código. Leí acerca de la codificación de 64 bits, pero no parece ser segura. También pensé en crear un archivo separado que contuviera la información de la cuenta, pero la ubicación del archivo aún tendría que estar en el código (¿supongo?) y simplemente podrían acceder a él si quisieran.

Realmente no tengo necesidad de asegurar mi pedido de pizza, esta es más una pregunta general que despertó mi interés. Me preguntaba si alguien podría orientarme en algunas buenas direcciones. A continuación no está mi código exacto, pero solo hay código para mostrar una idea general de lo que quiero decir. ¡Gracias de antemano por cualquier ayuda!

driver = webdriver.Chrome()

username = driver.find_element_by_id("username")
password = driver.find_element_by_id("password")
username.send_keys("YourUsername")
password.send_keys("PassworD")

driver.find_element_by_name("submit").click()
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para proteger las credenciales de inicio de sesión en una situación como esta, un enfoque podría ser utilizar variables de entorno. En lugar de codificar el nombre de usuario y la contraseña directamente en el código, puedes almacenarlos como variables de entorno y recuperarlos en el código según sea necesario.

    Por ejemplo, podrías configurar las variables de entorno de esta manera:

    $ export PIZZA_USERNAME=Tunombredeusuario
    $ export PIZZA_PASSWORD=Contraseña
    

    Luego, en tu código de Python, podrías recuperar estos valores utilizando el módulo os:

    import os
    from selenium import webdriver
    
    driver = webdriver.Chrome()
    
    username = driver.find_element_by_id("username")
    password = driver.find_element_by_id("password")
    username.send_keys(os.environ.get("PIZZA_USERNAME"))
    password.send_keys(os.environ.get("PIZZA_PASSWORD"))
    
    driver.find_element_by_name("submit").click()
    

    De esta manera, las credenciales reales no son visibles en el código y puedes actualizarlas fácilmente cambiando las variables de entorno en lugar de tener que modificar el código en sí.

    Otro enfoque podría ser utilizar un archivo de configuración externo al código. Podrías almacenar las credenciales en un archivo separado que no forme parte de tu repositorio de código y recuperarlas desde allí. Sin embargo, como mencionaste, la ruta del archivo debería seguir estando en tu código, lo cual podría ser un riesgo de seguridad.

    En cualquier caso, es importante recordar que ningún enfoque es 100% seguro; si alguien obtiene acceso a tu computadora o servidor, podría acceder a las credenciales independientemente de cómo las almacenes. Por lo tanto, siempre es una buena idea tomar medidas de seguridad adicionales, como habilitar la autenticación de dos factores si es posible.

Comments are closed.