簡體   English   中英

如何防止用戶使用express訪問客戶端html文件?

[英]How prevent a user from accessing a client side html file with express?

我正在編寫“待辦事項列表”應用程序。 在我的node.js代碼中,我使用express並將其訪問名為Client的文件夾:

var app = express();

app.use(express.static(__dirname + "/Client"));

在我的客戶文件夾中是以下內容:

codeJS.js
homepage.html
Todolistpage.html
style.css
logo.jpg

如何防止用戶鍵入localhost:3000 / Todolistpage.html時無法查看我的Todolistpage.html文件(而不從我的客戶文件夾中刪除Todolistpage.html )?

(理想情況下,稍后,我嘗試僅允許登錄的用戶查看它)

如果您不靜態提供文件並將其作為視圖邏輯的一部分進行處理,則可能會更容易。 因此,您只需將其從公共目錄中刪除,然后使用app.get()router.get()中間件分別處理即可。 您是否有理由需要靜態服務?

您可以執行以下操作:

var app = express();

app.get('/Todolistpage.html, function(req, res) {
  return res.status(401).end();
});

app.use(express.static(__dirname + '/Client');

這並不理想,因為您必須在文件名更改時隨時進行更改,並且必須針對每個文件單獨進行更改。

您還可以使用其他目錄/secure和一些用於用戶auth的中間件,例如:

app.use('/secure', someAuth, express.static(__dirname + '/secure'));

甚至...

app.use('/secure', someAuth, express.static(__dirname + '/Client/secure'));

但這讓我感到困惑。

暫無
暫無

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

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