表白:黑白圣堂血天使,天劍鬼刀阿修羅。
講解對象:/app.use() 實(shí)現(xiàn)referer請求頭 圖片防盜鏈
作者:融水公子 rsgz
===
app.use() 實(shí)現(xiàn)referer請求頭 圖片防盜鏈、
圖片防盜鏈的原理其實(shí)就是判斷 referer請求頭的IP是不是自己的IP 如果不是自己的IP 就相應(yīng)一個404就可以了
這些是實(shí)驗的文件路徑
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作為服務(wù)運(yùn)行http
其中必須注意這個app.use 有兩個 需要注意他們的順序
const express = require('express');
// 創(chuàng)建應(yīng)用對象
const app = express();
// 這一層 應(yīng)用全局
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); // 鏈接實(shí)例化
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'));
// 監(jiān)聽端口
app.listen(9001,()=>{
console.log("start server!!!");
})
兩次訪問 分別使用了不同 的方式
這種訪問 可以查看圖片 http://127.0.0.1:9001/
這種訪問 無法訪問圖片 http://localhost:9001/
=== 公眾號:不浪仙人
謝謝大家的支持!可以點(diǎn)擊我的頭像,進(jìn)入我的空間瀏覽更多文章呢。建議大家360doc[www.360doc.com]注冊一個賬號登錄,里面真的有很多優(yōu)秀的文章,歡迎大家的到來。
---