gpt4 book ai didi

security - 如何防止 Node.js/Express 提供我的应用程序的源代码?

转载 作者:IT老高 更新时间:2023-10-28 23:11:06 26 4
gpt4 key购买 nike

我从没想过这会是 Node.js 和 Express 的问题,但一时兴起,我决定在浏览器中输入我的 Node.js Express 项目中一个源文件的位置 - 类似于:

http://www.mywebsite.com/mynodejsapp/app.js

令我极度恐惧,我的应用程序的源代码立即弹出,公开供所有人查看。

那么,除此之外:如何在 Node.js/Express 中阻止它?

我的设置代码非常简单:

var app = express();
app.configure(function() {
app.use(express.static('/home/prod/server/app/public'));
});
app.listen(8888);

澄清一下,这就是我的文件夹结构:

/home/prod/server/
/home/prod/server/app.js
/home/prod/server/public/

旨在供公众访问的各种文件都在 /public 下。我所有的服务器源代码都位于 /server/ 下,我对 Express 的静态文件夹配置的理解是,静态文件夹是 Express 愉快地从文件系统中提供文件的唯一位置。

有什么想法吗?

最佳答案

从您发布的内容来看,您输入的网址确实闻起来像是由例如服务提供的。 Apache/nginx/... 并且您确实将您的 Node 应用程序放在了文档根目录中。在这个(以及任何类似的)案例中,答案很简单:

从不将任何源代码文件放在文档根目录或其他 HTTP 可访问的文件夹中。在您的情况下, /home/prod/server/app/public 应该只包含客户端的东西(HTML、CSS、图形、(缩小的)客户端 JS),而 nginx 不应该有任何上述内容此文件夹作为其文档根目录。

关于security - 如何防止 Node.js/Express 提供我的应用程序的源代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13849703/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com