2017-03-13 60 views
0

域地址我有一個節點JS應用阻止用戶通過在節點JS

version - v0.10.35. 
Framework - hapi.js framework 
Uses bower to manage front-end libraries 

這有一個公共集的URL的訪問,每個特定的客戶。當一個URL被訪問時,它將檢查數據庫並提供相關的輸出。

在我的情況下,有一個前客戶,我不斷收到他的具體網址的請求。我有發送請求的域名地址,它看起來像「www.ExampleForExCustomer.com」。有沒有辦法在Node js中用這個地址阻止用戶?

用戶在嘗試訪問,因爲他不再是一個客戶,但DB檢查爲客戶完成後,這種情況發生時,我試圖避免進程

會得到一個錯誤信息由於某些複雜的原因,我無法通過網絡級別的IP地址阻止用戶。

我是很新的節點JS,所以如果有人有任何洞察到這一問題

+0

是否使用像快遞庫,或者只是原始節點HTTP? –

+0

@joe:該應用程序建立在hapi.js框架的頂部 – Visahan

回答

0

的解決方案我有版v0.10.35的節點JS應用,將是很有益的

該版本的維護期限於2016年結束。有Node v0.12,io.js v1.0,io.js v2.0,io.js v3.0,Node v4.0,Node v5.0 ,Node v6.0,Node v7.0,我們將立即發佈Node v8.0。你是當前版本背後的8個主要版本,所以不要指望它可以工作。

已經有人說過,你問題的答案將取決於你使用的框架。您可能正在使用Express,Connect,Hapi,Restify,Loopback,Koa,http,net或其他數百個模塊 - 所有這些模塊都將採用不同的方式來阻止請求。

你甚至沒有包含任何代碼,所以我不能發佈任何特定的解決方案。我可以給你一個正確的方向提示Express,這是最流行的框架,所以你最有可能使用它 - 但正如我所說你提供的細節太少。

當您使用Express時,您應該創建一箇中間件,以便在任何數據庫連接發生之前在流程的早期檢查請求。您將可以訪問具有許多可檢查的有用屬性的對象request。當你想阻止用戶,那麼你應該運行next()回調與一個錯誤。爲了使連接成功,您應該運行next()回調而不出現錯誤,以便可以由其他中間件和請求處理程序處理。

請參見本文的詳細信息:

+0

感謝您的信息,我更新了一些信息。我目前正在管理這個由我的前任編寫的項目。我正在更新它,但目前我有這些問題需要完成才能查看更新。 – Visahan

0

正如@rsp已經說過。你正在使用一個非常舊的版本的節點...

使用hapi.js(或其他框架),你不能輕易確定請求者的網址。你可以做什麼,就是確定ip的請求是從哪裏來的。

var ip = request.headers['x-forwarded-for'] || request.info.remoteAddress; 

這可能會幫助您阻止特定的請求地址...