例如,在管理員cp中,要刪除用戶,有一個鏈接 - http://example.com/acp/delete-user.php?id=102。鏈接打開時,系統會自動從數據庫中刪除該用戶。 想象一下,有人給我發了一個鏈接(就像那樣),我不小心打開了它。這意味着,我刪除該用戶而不知道它。 =(如何處理它?POST方法?一些令牌?以及如何做到這一點,我只是在學習。= P如何處理CSRF(我猜)?
3
A
回答
4
我建議你做那種事情有一種形式。http://example.com/acp/delete-user.php?id=102顯示與刪除按鈕和一個隨機產生的密鑰HIDEN輸入的形式。該值存儲在您的然後點擊提交,目標頁面會檢查你是否過了正確的密鑰
網絡上有很多關於CSRF的資源
-1
我希望你有一個認證系統,以便即使訪問鏈接您將需要登錄。
+0
這不是CSRF的問題。假設你是一個網站的管理員,並且你已經登錄。我向你發送一個鏈接,然後說嘿!點擊這裏!。哪些會將您的網站發送給您,自您通過驗證後,您幾乎可以做任何事情! – 2010-11-12 17:18:27
0
你看過this article。正如其他人所說的那樣,我希望你對所有事情都有認證。但要做正確的實現,你需要實現一個令牌服務。因爲如果您已經登錄並且我向您發送鏈接,那麼它會刪除用戶。
0
使用POST實際上只會讓攻擊者更加困難(仍然會使用POST更好)。
您應該生成一個隨機令牌並將其存儲在用戶的會話或數據庫中(針對用戶)。在做任何動作之前,你必須檢查是否存在正確的標記。如果您將其存儲在會話中,請記住還要保證會話安全。
你可以在這裏找到一個實現:http://www.serversidemagazine.com/php/php-security-measures-against-csrf-attacks
相關問題
- 1. 如何處理oauth2和csrf令牌laravel
- 2. 處理來自AWS Lambda的CSRF攻擊?
- 3. 禁用Cookie時處理CSRF保護
- 4. 如何在使用ajax post時處理CSRF攻擊?
- 5. 如何處理codeigniter中的csrf安全問題
- 6. 猜猜我的號碼! C++
- 7. (StaleElementException:Selenium)我該如何處理?
- 8. NullReferenceException,我該如何處理?
- 9. python2.7如何處理unicode?我
- 10. 我如何處理NoReverseMatch?
- 11. 我如何處理的NodeJS
- 12. RewriteRule我猜?
- 13. 我如何猜測校驗和算法?
- 14. 春季4.3我如何做CSRF實施?
- 15. Django中的CSRF錯誤;我如何將CSRF添加到我的登錄視圖?
- 16. 未處理FileLoadException,我覺得我處理
- 17. 如何在django中設置「CSRF驗證失敗」的默認處理程序?
- 18. 如何處理
- 19. 如何處理
- 20. 如何處理
- 21. CSRF,如何烹飪?
- 22. 我的DbContext被如何處理?
- 23. 我如何處理SQL中的引號'
- 24. 我該如何處理這段文字?
- 25. 我如何處理項目模板SVN
- 26. 我如何處理文件上傳?
- 27. 我如何處理Python中的屬性?
- 28. 我如何處理UITableViewCells中的綁定
- 29. 我該如何處理這種編碼?
- 30. 我如何處理CMake.exe錯誤
是的,隨機生成的密鑰是要走的路!看看我發佈的文章。 :) – 2010-11-12 17:17:32