簡體   English   中英

何時需要使用 Token 保護 Forms(CSRF 攻擊)?

[英]When its Necessary to Protect Forms with Token (CSRF attacks)?

據我了解,web 開發人員應該創建令牌並將其放在表單的隱藏字段中以防止 CSRF 攻擊。 此外,他應該將相同的令牌保存在 session 中,然后在提交表單時檢查令牌是否相等。

我開始質疑......是否有必要為所有 forms 執行此技術? 我的意思是,想象一下為登錄而創建的表單。 如果沒有 CSRF 保護,我看不到對站點和/或用戶造成的任何傷害,因為用戶沒有特權(就像他登錄時一樣)。 注冊也是如此……我說的對嗎?

PS如果我錯了,請解釋一下這個概念。

CSRF 試圖防止的危險是當您遇到以下情況時:

  1. 用戶已登錄或其他,並具有一定級別的權限
  2. 壞人在未經用戶許可的情況下利用該權限

有時這是通過誘使用戶在不知情的情況下發出 HTTP 請求,例如在圖像的源屬性中。

您要保護的 forms 是需要此權限的 forms。

瘋狂的,偶然的機會,這實際上沒有意義, Chris Shiflett 有一篇關於 CSRF 的很棒的文章(你很可能已經讀過:/)

一般來說,您希望在提交會導致內容/狀態更改的任何時候保護您的表單; 無論是添加、刪除、編輯還是與外部資源共享(“在 xyz 上共享。”)。

您不需要保護的 forms 示例是搜索框,因為它不會導致任何內容更改。

如果您不確定,任何會導致某些內容被保存/刪除的表格(無論它是否在您的網站上)都應該受到保護。

如果您真的不確定只需添加令牌,就不會花費任何安全性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM