我正在使用flask,Werkzeug和jinja2开发Web应用程序.我对这些术语非常困惑,并想知道术语的含义以及它们与CGI环境变量的相互关系.什么是全局变量g以及它与应用程序上下文和请求上下文的关系.
另外,因为我对开发网络应用程序(我是第一次这样做)没有太多的了解,所以还有另一个请求,如果有人可以提供参考或让我理解请求的处理方式,我的意思是当请求到达Web应用程序时会发生什么.
此外,如果我没有使用任何openID提供程序登录用户进入我的网站,我该如何确保密码安全.我应该使用任何框架吗?
最佳答案 对于请求上下文更好看下一个问题:
What is the purpose of Flask’s context stacks?.最好花一点时间来理解它,因为它是基本的框架主体.
用户数据存储的许多方法都是安全的,数据库中最容易的存储用户和密码为modern_crypto_hash(密码盐),短密码接受限制,并使用某些东西记录为Flask-Login或Flask-Principal.为了避免SQL注入,您可以使用任何ORM,例如SqlAlchemy.为了避免XSS通过POST发送数据并添加csrf令牌,WTForms很好.为了避免html标签注入,默认情况下已使用内置模板系统,并且不会不安全地插入用户内容.也可以是有用的https.