在Python中使用Selenium时保护用户帐户凭据的最佳方法



我在玩Selenium和Python,并编写了一个程序,该程序可以登录到我当地的一家披萨店网站,只需点击一个按钮就可以为我下常规订单。

然后我很好奇在这种情况下保护登录凭据的最佳方法是什么,因为用户名和密码是直接写入代码的。我读过关于64位编码的文章,但这似乎不安全。我还想过创建一个单独的文件来保存帐户信息,但它的文件路径仍然在代码中(我想是吗?(,如果他们想的话,他们可以访问它。

我真的没有必要确保我的披萨订单,这是一个更普遍的问题,达到了我的兴趣。我想知道是否有人能给我指一些好的方向。下面不是我的确切代码,只是显示我的意思的大致想法的代码。提前感谢您的帮助!

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()

存储机密的常用方法是使用.env文件。这是一个简单的文件,通常存储在项目的根目录下。其概念是,当执行python脚本时,.env文件中包含的每个变量也会注入到运行环境中。然后,在脚本中,您可以获得这些值,就好像它们是带有os.getenv("MY_SECRET")的env-var一样
.gitignore中还应包含此文件,以防止其上载到代码存储库。

dotenvpython模块是一个帮助实现这种方法的实用程序。你可以在这里阅读更多https://github.com/theskumar/python-dotenv

出于安全原因,如果您不想将用户名/密码存储在代码中或存储在text/csv/excel文件中,则可以使用input()获取用户输入运行时,如下所示:

driver.find_element_by_id("username").send_keys(input("Username: "))
driver.find_element_by_id("password").send_keys(input("Password: "))

最新更新