Flask和WerkZeug中的应用程序上下文和请求上下文是什么?

时间:2014-04-07 16:03:22

标签: python web-services werkzeug

我正在使用flask,Werkzeug和jinja2开发一个Web应用程序。我对这些术语非常困惑,并想知道术语的含义以及它们与CGI环境变量的相互关系。什么是全局变量g以及它与应用程序上下文和请求上下文的关系。

此外,由于我不太了解开发网络应用程序(我是第一次这样做)的任何其他语言,所以如果有人可以提供参考或让我了解请求的方式,还有另一个请求处理,我的意思是当请求到达Web应用程序时会发生什么。

此外,如果我没有使用任何openID提供程序登录用户进入我的网站,我该如何确保密码安全。我应该使用任何框架吗?

1 个答案:

答案 0 :(得分:2)

对于请求上下文,请查看下一个问题:What is the purpose of Flask's context stacks?。最好花一点时间来理解它,因为它是基本的框架主体。

用户数据存储的许多方法都是安全的,数据库中最简单的商店用户和密码为modern_crypto_hash(password + salt),短密码接受限制,并使用某些内容记录为Flask-LoginFlask-Principal 。为避免SQL注入,您可以使用任何ORM,例如SqlAlchemy。为了避免XSS通过POST发送数据更改并添加csrf令牌,WTForms在那里很好。为了避免html标签注入,默认情况下已使用内置模板系统,并且不会不安全地插入用户内容。也很有用https