浏览器中的Nodejs文件直接访问

问题描述 投票:-2回答:1

在Plesk服务器上,有一些nodejs和reactjs基于运行的URL构建,但是当我们运行js文件的nodejs文件的URL时,它直接在浏览器中打开,这意味着nodejs文件是不安全的。

node.js plesk
1个回答
0
投票

因此,听起来您正在使用express.static(),但用户仍可以获取您不打算转到客户端的服务器文件。显然,这意味着您已将express.static指向包含服务器文件的目录。相反,您需要将express.static()指向仅包含要发送到客户端的文件的目录层次结构。这意味着它必须是与服务器文件不同的目录,并且必须不在服务器文件目录的上方。

有很多可能的地方。这是组织事物的几种方法:

projectDirectory
    serverFiles
        server.js
    clientFiles
        index.html
        login.html

然后,从serverFiles目录运行服务器代码时,应使用如下所示的express.static()

const path = require('path');
app.use(express.static(path.join(__dirname, "../clientFiles")));

或者,您可以这样做:

projectDirectory
    serverFiles
        server.js
        clientFiles
            index.html
            login.html

const path = require('path');
app.use(express.static(path.join(__dirname, "clientFiles")));

[想法是clientFiles目录层次结构仅包含客户端文件,默认情况下express.static()不允许URL中的../语法超过它。

© www.soinside.com 2019 - 2024. All rights reserved.