2
在讀取djangobook chapter時,我遇到了提到csrf漏洞的部分,其中註銷鏈接放在隱藏的惡意站點中。django使用鏈接或形式註銷,以防止csrf利用
在我創建使用Django的web應用程序,我已經使用了類似的註銷鏈接
base.html文件:
<a href="{% url my_logout %}" > Logout </a>
其中my_logout URL指向
urlpatterns=patterns('django.contrib.auth.views',
url(r'^logout/$', 'logout_then_login', {}, name = 'my_logout'),
)
現在在閱讀了csrf攻擊後,我擔心惡意網站也會給我帶來麻煩。所以,我想用一個表單來註銷。
我想我可以做這樣的
base.html文件:
...
<form method="post" action=".">{% csrf_token %}
<input type="hidden" name="next" value="{{next}}" />
<input type="hidden" name="confirm" value="true" />
<input type="submit" value="Logout" />
</form>
...
現在,我應該怎麼寫處理這種形式如果我來處理隱變量(confirm
的看法?檢查是否應該註銷,next
轉到上一個視圖),我仍然可以使用方法嗎?
有人可以告訴我,如果我這樣做是正確的方式嗎?
在此先感謝
@ClaudeVedovini只覺得有人在快速打字時,我編輯它,哈= P – okm 2012-03-29 17:39:46
我打算髮布幾乎相同的答案:) 無論如何,我會補充一點,我不認爲這是真正有用的。 CSRF漏洞被用來欺騙用戶完成他們登錄的應用程序中的操作,但強制他們註銷並沒有什麼意義。 – 2012-03-29 17:44:07
@ClaudeVedovini是的,但有時當攻擊者打算暫時註銷你一段時間或等待你的新登錄程序 – okm 2012-03-29 17:52:25