切记一定要防止恶意用户直接访问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;
}

上一篇:Spring Boot 之注解@Component @ConfigurationProperties(prefix = "sms") 使用@ConfigurationProperties读取yml配置


下一篇:spring+hibernate删除单条记录的几种方法