背景:
维护的一个网站最近短信接口被黑,发送大量短信。起初以为是在网站内部操作,优化了发送短信前的操作,如添加图形验证码,屏蔽国外IP等。但后续还存在被调取情况,定位排查到是该接口在外部被恶意调取。
处理:
本网站已开启SSL,可通过 HTTP_REFERER 判断。
干货:
若网站未开启SSL,不建议以下方法,因为 HTTP_REFERER 会被伪造;
if(isset($_SERVER['HTTP_REFERER']) && strpos($_SERVER['HTTP_REFERER'],'网站域名') !== false){
$this->_caozuo(); //继续操作
}else{
$this->result(null,403,''禁止访问,'json');
}