限制对ExpressJS中静态文件的访问

时间:2011-04-16 00:36:57

标签: node.js express

我有一台服务器通过中间件路由几乎所有内容来检查您是否已登录,但这仅适用于路由。我也希望它能与public目录中的静态文件一起使用。我该怎么做呢?

更新:最好不要担心保护/public文件夹中的内容,因为快递提供了res.download(...)功能。 Example on the Express.JS GitHub page

1 个答案:

答案 0 :(得分:2)

通过使用express.static中间件表达来澄清静态文件也是服务器。理论上,您可以在其之前包含中间件来处理安全性。除了静态中间件的想法之外,您只能将文件夹public静态提供,因为它的 public

您可以在此处找到static。您可以重写它以允许您将中间件注入其中。

或者您可以自己编写一个天真的静态文件路由器。

您是否尝试在静态中间件之前在中间件中注入自己的安全日志。

app.use(security);
app.use(express.static(dirname + '/public'));