服務端跨域處理 Cors

Zery發表於2016-12-19

1  新增 System.Web.Cors,System.Web.Http.Cors

2 global檔案中 註冊asp.net 管道事件

 

        protected void Application_BeginRequest(object sender, EventArgs e)
        {
            var response = HttpContext.Current.Response;

            response.AddHeader("Access-Control-Allow-Origin", "*"); //正式環境注意改成具體網站,*代表允許所有網站
            response.AddHeader("Access-Control-Allow-Methods", "GET,POST,PUT,DELETE,OPTIONS");
            response.AddHeader("Access-Control-Max-Age", "36000");//設定跨域快取,減少瀏覽器OPTIONS訪問次數

            /*
             OPTIONS請求方法的主要用途有兩個:
                1、獲取伺服器支援的HTTP請求方法;也是黑客經常使用的方法。
                2、用來檢查伺服器的效能。例如:AJAX進行跨域請求時的預檢,需要向另外一個域名的資源傳送一個HTTP OPTIONS請求頭,用以判斷實際傳送的請求是否安全。
             */

            if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
            {
                response.End();
            }

        }

 

相關文章