據我所知,Django's comments framework是爲匿名公衆評論而設計的,就像您在博客或artcile下面常見的一樣。換句話說,任何人都可以發表評論。Django的評論框架和CSRF
我使用的評論框架只允許登錄用戶顯示評論。什麼I did was modify the form.html
和隱藏name
,URL
,和email
字段(保持安全字段完好)。所以用戶幾乎看不到comment
字段。我想使用Django的評論,因爲它已經有一些很好的安全功能,比如時間戳檢查,蜜罐字段和反雙重發布功能。從request.user
RequestContext中獲取用戶信息,並且我獲得有關comment.user.get_full_name
與comment.name
或comment.user.email
與comment.email
相對的評論的用戶信息。
我也開始閱讀關於Django的CSRF保護。在大多數情況下,人們談論CSRF如何防止黑客通過使用cookie或其他方式從登錄用戶的銀行賬戶轉賬。
在我的情況下,CSRF阻止人們發佈爲其他用戶嗎?換句話說,黑客是否可以創建自己的POST表單並在不同的user.pk
下發布以僞造其他人?
如果黑客註冊併成功登錄,並在嘗試發表評論時,他會修改POST響應並將用戶標識更改爲除自己以外的其他內容(但保持其他所有內容相同,如CSRF)。他會不會以別人的身份發表評論? – hobbes3 2012-04-07 20:13:48
這是否意味着,我應該忽略用戶POST中的'comment.user',並在'views.py'下聲明'comment.user = request.user.pk'? – hobbes3 2012-04-07 20:15:11
@ hobbes3是的,這是避免僞造的方法。 – agf 2012-04-08 05:11:03