CSRF 激活保護

 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,這個字段須要出如今你全部的表單中。html

1 <input id="csrf_token" name="csrf_token" type="hidden" value="IjA5YTIwMTFiNTU4OGI1OTZlNjRkNDRlYjE4MjQzYzgxNWNiZjAwZDci.C6-i-w.KU6p56A3yoXikSY7uq6YyuwqSjk">

爲了避免被跨站攻擊的一個保護措施,須要在config.py 裏面設置兩配置app

CSRF_ENABLED = True #Flaks-WTF 擴展只須要兩個配置。 CSRF_ENABLED 配置是爲了激活 跨站點請求僞造 保護
SECRET_KEY = 'lalademaxiyaQWERTYUIKSDFGXCVBNMdfghnrfghjwqr'#第二個_僅僅當 CSRF 激活的時候才須要,它是用來創建一個加密的令牌,用於驗證一個表單

app/__init__.py

# Flask 去讀取以及使用配置文件
app.config.from_object('config')
相關文章
相關標籤/搜索