4.1 配置Flask-WTF

与其他多数扩展不同,Flask-WTF 无须在应用层初始化,但是它要求应用配置一个密钥。

密钥是一个由随机字符构成的唯一字符串,通过加密或签名以不同的方式提升应用的安全 性。

Flask 使用这个密钥保护用户会话,以防被篡改。每个应用的密钥应该不同,而且不 能让任何人知道。示例 4-1 展示如何在 Flask 应用中配置密钥。

示例 4-1 hello.py:配置 Flask-WTF

app = Flask(__name__)
app.config['SECRET_KEY'] = 'hard to guess string'

app.config 字典可用于存储 Flask、扩展和应用自身的配置变量。使用标准的字典句法就 能把配置添加到 app.config 对象中。这个对象还提供了一些方法,可以从文件或环境中导 入配置。第 7 章将介绍管理大型应用配置的合理方式。

Flask-WTF 之所以要求应用配置一个密钥,是为了防止表单遭到跨站请求伪造(CSRF, cross-site request forgery)攻击。

恶意网站把请求发送到被攻击者已登录的其他网站时,就 会引发 CSRF 攻击。Flask-WTF 为所有表单生成安全令牌,存储在用户会话中。令牌是一 种加密签名,根据密钥生成。

  • 为了增强安全性,密钥不应该直接写入源码,而要保存在环境变量中。这一 技术在第 7 章介绍。

《基于Python的Web应用开发实战(第二版)》

转载于:https://www.cnblogs.com/hl001/p/10233147.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值