Flask-WTF
4.1跨站请求伪造保护
默认情况下,Flask-WTF能保护所有表单免受跨站请求伪造的攻击。恶意网站把请求发送到被攻击者已登陆的其他网站时就会引发CSRF攻击。
详细的CSRF攻击原理见:https://www.cnblogs.com/wangyuyu/p/3388169.html
为了实现CSRF保护,Flask-WTF需要程序设置一个秘钥,然后根据这个秘钥生成加密令牌,再用令牌验证请求中表单数据的真伪。设置秘钥的方法为:
#hello.py:设置Flask-WTF
app = Flask(__name__)
app.config['SECRET_KEY'] = 'hard to guess string'
app.config字典用来存储框架、扩展和程序本身的配置变量。
SECRET_KEY配置变量是通用秘钥,加密的程度取决于变量值得机密程度。不同的程序要使用不同的秘钥,而且要保证其他人不知道你所用的字符串。
4.2 表单类
使用Flask-WTF时,每个web表单都由一个继承自Form的类表示。这个类定义表单中的一组字段,每个字段都用对象表示。字段对象可附属一个或多个验证函数。验证函数用来验证用户提交的输入值是否符合要求。
#hello.py:定义表单类,包含一个文本字段和一个提交按钮。
from flask.ext.wtf import Form
from wtforms import St