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')
posted on 2017-03-19 13:12  SxMask  阅读(281)  评论(0)    收藏  举报