在Plesk服务器上,有一些nodejs和reactjs基于运行的URL构建,但是当我们运行js文件的nodejs文件的URL时,它直接在浏览器中打开,这意味着nodejs文件是不安全的。
因此,听起来您正在使用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中的../
语法超过它。