簡體   English   中英

如何防止直接訪問IP Express node.js

[英]How to prevent direct access to IP Express node.js

我在網上的任何地方都找不到這方面的資源,我所看到的只是 nginx 的參考資料。

我需要快速解決這個問題,因為我的服務器與訪問它的用戶一起使用並且谷歌以某種方式索引了我的 ip 地址並且用戶正在通過我的 ip 訪問我的網站。

我計划今晚遷移服務器並且知道為什么我的 ip 被編入索引,但與此同時需要一種方法來防止通過我的 ip 直接訪問。

這顯然是行不通的,並且沒有太多的空間來測試,除非我停止服務器並長時間關閉所有用戶:

app.get('myiphere', function(req, res){
    res.redirect('domain.com');
});

要防止從 IP 直接訪問您的站點,您可以這樣設置環回 IP:

 app.listen(3000, '127.0.0.1', () => console.log('Server running on port 3000'))

通過在服務器根目錄中創建robots.txt來防止索引。 https://stackoverflow.com/a/390379/11191351

您可以實現一個應用程序級中間件,該中間件檢查請求主機名是否是您的域。 這樣,使用 IP 地址訪問您的地址不會導致處理(在應用程序級別)。

const SITE_ADDRESS = 'yourwebsite.com';
app.use((req,res,next) => {
  if (req.hostname.includes(SITE_ADDRESS)) 
    next();
  else
    res.status(403).end(`Access with ${req.hostname} is restricted. Use ${SITE_ADDRESS} instead.`);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM