python - 使用 MySQL 管理 Web 应用程序的用户身份验证

标签 python mysql security authentication

我正在用 python 构建我的第一个网络应用程序,甚至还没有决定框架, 从 MySQL 数据库开始管理用户和凭据是否有意义? 或者这是一种完全荒谬的处理方式? 管理用户凭据的现有解决方案和最佳实践有哪些?

最佳答案

一如既往,答案是视情况而定。使用 Python 构建 Web 应用程序的方法有很多,因此您首先需要决定要构建什么或要学习什么技术。

如果您只想专注于 Python 后端作为学习练习,那么您可以使用 Flask,它可以作为服务器运行,并包含许多模块来帮助您入门,包括管理用户。如果您计划公开公开您的应用程序,但通常建议使用 Apache 或其他经过实战测试的服务器,它们可以将请求路由到 Flask。

还有其他 Python 框架,比如 Bottle,我认为它比 Flask 更简单,而 Django 更复杂,但功能更多。这完全取决于您想做什么。如果您的最终目标具有数据分析风格,您还可以查看 dash 等内容。

但需要注意的一件事是,管理用户凭据并非易事。如果您喜欢学习和修补,这可能是一个有用的练习,但要正确地做到这一点,您需要了解加盐密码、加密安全散列、 session 管理、https(理想情况下应弃用哪些密码)、如何防范 sql注入(inject)(如果您还不知道如何执行此操作,最好知道如何执行此操作)、跨站点脚本、CORS 等。这样的例子不胜枚举。这些东西都不仅仅用于管理用户凭据,但您应该了解所有可能导致问题的方式。

关于python - 使用 MySQL 管理 Web 应用程序的用户身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59637029/

相关文章:

python - 为什么这行 python 会破坏 emacs python-mode 缩进?

java - 本地和云 MySQL 数据库 ... 2 路同步

android - 使一个 IAP 对不同的应用程序有效

javascript - Vega 漏洞扫描器构建脚本

python - 使用 pandas python 聚合数据

python - 如何查找pandas中特定范围内的值的数量?

python - "cannot import name smbserver"当使用 impacket 和 smbrelayx.py 时

MySQL 查询不在 cronjob 内运行

php - 将多个复选框保存到一个数据库字段中

ASP.NET 与 Windows Azure Active Directory SSO