表白:黑白圣堂血天使,天剑鬼刀阿修罗。 讲解对象:/app.use() 实现referer请求头 图片防盗链 作者:融水公子 rsgz ===
app.use() 实现referer请求头 图片防盗链、
图片防盗链的原理其实就是判断 referer请求头的IP是不是自己的IP 如果不是自己的IP 就相应一个404就可以了
这些是实验的文件路径
E:\1-AI_pro\node_pro\src\18-express\public\002.png
E:\1-AI_pro\node_pro\src\18-express\public\index.html
E:\1-AI_pro\node_pro\src\18-express\16-图片防盗链.js
16-图片防盗链.js作为服务运行http 其中必须注意这个app.use 有两个 需要注意他们的顺序
const express = require('express');
// 创建应用对象
const app = express();
// 这一层 应用全局
app.use((req,res,next)=>{
// 获取请求头的refer 是否是 127.0.0.1
let referer=req.get('referer');
console.log(referer);
if(referer){
let url = new URL(referer); // 链接实例化
let hostname = url.hostname;
if(hostname!=='127.0.0.1'){
res.status(404).send('<h>404</h>')
return;
}
}
next();
});
// 必须放在 中间件的后面
app.use(express.static(__dirname+'/public'));
// 监听端口
app.listen(9001,()=>{
console.log("start server!!!");
}) 两次访问 分别使用了不同 的方式
![](http://userimage8.360doc.com/23/1030/18/54508727_202310301848230787_wm.png)
这种访问 可以查看图片 http://127.0.0.1:9001/
这种访问 无法访问图片 http://localhost:9001/ === 公众号:不浪仙人 谢谢大家的支持!可以点击我的头像,进入我的空间浏览更多文章呢。建议大家360doc[www.360doc.com]注册一个账号登录,里面真的有很多优秀的文章,欢迎大家的到来。 --- ';
|