20190119 瀏覽器跨域請求方案


跨域 & 同源策略


1.同源策略是指瀏覽器爲防止XSS((cross site scripting)和CSRF(cross site request forgery)等攻擊提出的安全策略,除非協議,域名(使用ip和域名視爲不同),端口三者均一致,否則視爲非同源。

2.非同源之間相互訪問,視爲跨域訪問。同源策略禁止跨域進行瀏覽器存儲,瀏覽器DOM對象操作和腳本操作,以及AJAX請求。

3.瀏覽器允許跨域請求js,css,img,mp3等常規靜態資源。


避開同源策略,實現跨域請求


1.因爲同源策略是瀏覽器規範,服務器不遵守,在對目標服務器不做改動的情況,使用代理服務器,比如nginx,在nginx裏允許跨域請求,然後代理請求目標服務器。

location / {  
# 允許跨域設置
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
    add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';

    if ($request_method = 'OPTIONS') {
        return 204;
    }
} 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章