切記必定要防止惡意用戶直接訪問Ajax請求地址

 多年前的一個web項目, 有一個地方是用ajax發送短信驗證碼, 當時沒考慮好, 沒判斷來路, 這幾天被人惡意濫用發送了不少垃圾短信, 投訴到公司來了。  今天一看代碼嚇出一身冷汗!web

  之後必定要記得判斷來路, 禁止直接請求Ajax地址。ajax

 

 方式1, 判斷來路, 不能爲空且必須同是HostUrl  spa

if(Request.UrlReferrer!=null && Request.UrlReferrer.Host==Request.Url.Host)
{
  //do..
}

 

方式2, 判斷httpHeaders是否ajax請求code

public static bool AjaxRequest()
 {
            string sheader = Request.Headers["X-Requested-With"];
            bool isAjaxRequest = (sheader != null && sheader == "XMLHttpRequest") ? true : false;
            if (isAjaxRequest) 
                return true;
            else
                return false;
}
相關文章
相關標籤/搜索