在 Express.js 中獲取請求的域名資訊


我們需要獲取 DNS 資訊才能追蹤我們接收請求的地址。此功能還提供了一層額外的安全防護,可保護應用程式免受各種型別的 DOS 和 DDOS 攻擊。

我們可以使用以下函式獲取域名和主機資訊。

語法

  • 獲取起源資訊

var origin = req.get('origin');
  • 獲取主機資訊

var host = req.get('host');

示例 1

建立一個名為"dnsInfo.js" 的檔案,然後複製以下程式碼片段。建立檔案後,使用命令"node dnsInfo.js"執行此程式碼,如下例所示 −

// Getting the Host info Demo Example
// Importing the express module
var express = require('express');

// Initializing the express and port number
var app = express();
var PORT = 3000;

// Creating a GET Api endpoint
app.get("/route", (req, res) => {
   var host = req.get('host');
   console.log(host)
   var origin = req.get('origin');
   console.log(origin)
})
app.listen(PORT, function(err){
   if (err) console.log(err);
   console.log("Server listening on PORT", PORT);
});

輸出

用 GET 請求訪問以下 URL:localhost:3000/route

C:\home
ode>> node dnsInfo.js Server listening on PORT 3000 localhost:3000 undefined

示例 2

我們再看一個示例。

// Getting the Host info Demo Example
// Importing the express module
var express = require('express');

// Initializing the express and port number
var app = express();
var PORT = 3000;

// Creating a GET Api endpoint
app.get("/route", (req, res) => {
   var host = req.get('host');
   console.log("Host: ", host)
   var origin = req.get('origin');
   console.log("Origin: ", origin)
   var userIP = req.socket.remoteAddress;
   console.log("UserIp: ", userIP)
   res.send("DNS host" + host +" origin: " + origin +" userIP : "+ userIP)
})
app.listen(PORT, function(err){
   if (err) console.log(err);
   console.log("Server listening on PORT", PORT);
});

輸出

C:\home
ode>> node dnsInfo.js Server listening on PORT 3000 Host: localhost:3000 Origin: undefined UserIp: ::ffff:127.0.0.1

更新於: 06-Apr-2022

3K+ 瀏覽量

啟動您的職業生涯 職業生涯

完成課程即可獲得認證

開始學習
廣告
© . All rights reserved.