切记一定要防止恶意用户直接访问Ajax请求地址

 多年前的一个web项目, 有一个地方是用ajax发送短信验证码, 当时没考虑好, 没判断来路, 这几天被人恶意滥用发送了很多垃圾短信, 投诉到公司来了。  今天一看代码吓出一身冷汗!

  以后一定要记得判断来路, 禁止直接请求Ajax地址。

 方式1, 判断来路, 不能为空且必须同是HostUrl  

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

方式2, 判断httpHeaders是否ajax请求

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;
}





原文地址:https://www.cnblogs.com/jackrebel/p/4277190.html