首頁  >  問答  >  主體

javascript - 請教CORS安全性的問題

面試的時候被問到CORS安全性問題,沒答上來,想請教下大家。
CORS在伺服器端設定了Access-Control-Allow-Origin,不設定為*,不是只有指定的域才能發起請求嗎,否則就被瀏覽器攔截了呀,有看到說http頭可以偽造,但手動設定Origin也會被瀏覽器阻止,請問CORS的漏洞到底在哪裡?有什麼解決方案?謝謝

给我你的怀抱给我你的怀抱2734 天前862

全部回覆(2)我來回復

  • 巴扎黑

    巴扎黑2017-05-19 10:44:05

    https://developer.mozilla.org...瀏覽器相容性

    回覆
    0
  • 高洛峰

    高洛峰2017-05-19 10:44:05

    我反而覺得CORS相交於JSONP是較安全的跨域方式,也是標準的跨域方式。

    Access-Control-Allow-Origin就是一個允許請求的域白名單,只有是這個域裡有的,伺服器才會統一跨域請求,如果合理的設定白名單,反而可以避免CSRF攻擊。

    我覺得這個問題可能是要求你從如果Access-Control-Allow-Origin為*所面臨的問題來考慮。

    設定成*的一般是公共的API,為了避免被頻繁請求或DDOS,一般會多出密鑰驗證的步驟,並且限制請求頻率和次數。

    還有就是CORS雖然預設不傳Cookie,但Access-Control-Allow-Credentials設為true就能允許,這樣也可能會有CSRF攻擊的風險。

    回覆
    0
  • 取消回覆