什么是CSRF攻擊?
跨站點請求偽造,指攻擊者通過跨站請求,以合法的用戶的身份進行非法操作。
(推薦教程:web服務(wù)器安全)
可以這么理解CSRF攻擊:攻擊者盜用你的身份,以你的名義向第三方網(wǎng)站發(fā)送惡意請求。CRSF能做的事情包括利用你的身份發(fā)郵件,發(fā)短信,進行交易轉(zhuǎn)賬,甚至盜取賬號信息。
如何防范CSRF攻擊
1、安全框架,例如Spring Security。token機制。
2、在HTTP請求中進行token驗證,如果請求中沒有token或者token內(nèi)容不正確,則認(rèn)為CSRF攻擊而拒絕該請求。
3、驗證碼。通常情況下,驗證碼能夠很好的遏制CSRF攻擊,但是很多情況下,出于用戶體驗考慮,驗證碼只能作為一種輔助手段,而不是最主要的解決方案。
4、referer識別。在HTTP Header中有一個字段Referer,它記錄了HTTP請求的來源地址。如果Referer是其他網(wǎng)站,就有可能是CSRF攻擊,則拒絕該請求。但是,服務(wù)器并非都能取到Referer。很多用戶出于隱私保護的考慮,限制了Referer的發(fā)送。在某些情況下,瀏覽器也不會發(fā)送Referer,例如HTTPS跳轉(zhuǎn)到HTTP。