booktest25-csrf

csrf能夠成功的條件:

1).登陸正常網站之後,瀏覽器保存sessionId,沒有退出

2).不小心訪問了另外一個網站,並且點擊了頁面上的按鈕

防禦的原理:

1)渲染模板文件時在頁面生成一個名字叫做csrfmiddlewaretoken的隱藏域

2)服務器交給瀏覽器保存一個名字爲csrftoken的Cookie信息

3)提交表單時,兩個值都會發給服務器,服務器進行比對時,如果一樣,csrf驗證通過,否則失敗

1.login.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登陸頁面</title>
</head>
<body>
<form method="post" action="/login_check">
    用戶名:<input type="text" name="username" value="{{username}}"/><br/>
    密碼:<input type="password" name="password"/><br/>
    <input type="checkbox" name="remember"/>記住用戶名<br/>
    <input type="submit" value="登陸">
</form>
</body>
</html>

 2.當輸入用戶名和密碼後,提交時候顯示403 Forbidden

3.解決辦法,在post提交表單裏面增加標籤{% csrf_token %}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章