1 <!-- extend from base layout --> 2 {% extends "base.html" %} 3 4 {% block content %} 5 <h1>Sign In</h1> 6 <form action="" method="post" name="login"> 7 {{form.hidden_tag()}} 8 <p> 9 Please enter your OpenID:<br> 10 {{form.openid(size=80)}}<br> 11 </p> 12 <p>{{form.remember_me}} Remember Me</p> 13 <p><input type="submit" value="Sign In"></p> 14 </form> 15 {% endblock %}
form.hidden_tag() 模板参数将被替换为一个隐藏字段,用来是实现在配置中激活的 CSRF 保护。如果你已经激活了 CSRF,这个字段需要出现在你所有的表单中。
1 <input id="csrf_token" name="csrf_token" type="hidden" value="IjA5YTIwMTFiNTU4OGI1OTZlNjRkNDRlYjE4MjQzYzgxNWNiZjAwZDci.C6-i-w.KU6p56A3yoXikSY7uq6YyuwqSjk">
为了不被跨站攻击的一个保护措施,需要在config.py 里面设置两配置
CSRF_ENABLED = True #Flaks-WTF 扩展只需要两个配置。 CSRF_ENABLED 配置是为了激活 跨站点请求伪造 保护
SECRET_KEY = 'lalademaxiyaQWERTYUIKSDFGXCVBNMdfghnrfghjwqr'#第二个_仅仅当 CSRF 激活的时候才需要,它是用来建立一个加密的令牌,用于验证一个表单
app/__init__.py
# Flask 去读取以及使用配置文件
app.config.from_object('config')
浙公网安备 33010602011771号