1 .通过请求图片请求头头中的Referee和host字段不一致判断
通过自己封装一个中间件来实现
module.exports = (req, res, next) => {
const host = req.headers.host; // 获取本网站的主机名
let referer = req.headers.referer;
// 只处理图片
const extname = path.extname(req.path);
if(!['.jpg', 'png'].includes(extname)) {
next();
return;
}
if(referer) {
referer = url.parse(referer).host;
}
if(referer && referer !== host) {
// 返回404 或者返回一个默认图片
res.status(404).end();
return;
req.url = '';
next();
}
next();
}