瞭解CSRF以前的必備知識html
一、同源策略java
同源策略-三個相同:協議、域名、端口瀏覽器
舉例說明:安全
源URL爲:http://www.example.com/dir/page.htmlcookie
協議爲:httpdom
域名爲:www.exampe.com網站
端口爲:80(能夠省略)spa
同源狀況以下:htm
http://www.example.com/dir/otherpage.html (同源)blog
http://example.com/dir/page.html (不一樣源 [域名不一樣] )
http://111.com/dir/page.html (不一樣源 [域名不一樣] )
http://www.example.com:8080/dir/page.html (不一樣源 [端口不一樣] )
同源目的:
保證用戶信息的安全,防止惡意的網站竊取數據
限制範圍:
Cookie,LocalStorage和IndexDB沒法讀取
Dom沒法獲取
AJAX請求不能發送
二、Cookie的兩個重要屬性
Domain:當前要添加cookie的域名歸屬,未知名默認爲當前域名
www.test.com 添加的 cookie 的默認域名爲 www.test.com
Path: 當前要添加的cookie的路徑歸屬,未知名默認當前路徑
www.test.com/java/hostpot.html 添加的cookie的默認路徑爲 /java/
三、瀏覽器提交Cookie須要知足的兩點
當前域名或者父域名下的cookie
當前路徑或者父路徑下的cookie
舉例說明:
以 blog.test.com/ 爲例
cookie1:[name=value,domain=.test.com path=/]
能夠 .test.com 是 blog.test.com 的父域名
cookie2:[name=value,domain=blog.test.com path=/java/]
不能夠 path 不一致
cookie3:[name=value,domain=www.test.com path=/]
不能夠 域名不一致
cookie4:[name=value,domain=blog.test.com path=/]
能夠 域名和Path都嚴格的保持了一致