在Plesk服务器上,将在命中URL上运行nodejs和reactjs,但当我们命中js文件的nodejs文件url时,它直接在浏览器中打开,这意味着nodejs文件不安全。
答案 0 :(得分:0)
因此,听起来您正在使用DECLARE @json nvarchar(max) = N'{
"extrapolationLevel":1,
"branchNames":[
"name"
],
"leafNames":[
"count(*)"
],
"values":{
"Loading of page /webpage/page/Page1.asp":[
4
],
"Loading of page /webpage/page/Page3.asp":[
4
],
"Loading of page /webpage/page/Page2.asp":[
3
],
"Loading of page /webpage/page/Page4.asp":[
2
],
"Loading of page /webpage/page/Page5.asp":[
7
],
"Loading of page /webpage/page/Page6.asp":[
3
]
}
}'
CREATE TABLE Data (
[Date] datetime,
[Log] nvarchar(max)
)
INSERT INTO Data
([Date], [Log])
VALUES
(GETDATE(), @json)
,但用户仍可以获取您不打算转到客户端的服务器文件。显然,这意味着您已将express.static指向包含服务器文件的目录。相反,您需要将SELECT
d.[Date],
j1.[key] AS [Page],
j2.[Count]
FROM Data d
CROSS APPLY OPENJSON(d.[Log], '$.values') j1
CROSS APPLY OPENJSON(j1.[value]) WITH (
[Count] int '$'
) j2
指向仅包含要发送给客户端的文件的目录层次结构。这意味着它必须是与服务器文件不同的目录,并且必须不在服务器文件目录的上方。
有很多可能的放置位置。这是组织事物的几种方法:
Date Page Count
18/11/2019 17:48:02 Loading of page /webpage/page/Page1.asp 4
18/11/2019 17:48:02 Loading of page /webpage/page/Page3.asp 4
18/11/2019 17:48:02 Loading of page /webpage/page/Page2.asp 3
18/11/2019 17:48:02 Loading of page /webpage/page/Page4.asp 2
18/11/2019 17:48:02 Loading of page /webpage/page/Page5.asp 7
18/11/2019 17:48:02 Loading of page /webpage/page/Page6.asp 3
然后,当从serverFiles目录运行服务器代码时,将使用如下所示的express.static()
:
express.static()
或者,您可以这样做:
projectDirectory
serverFiles
server.js
clientFiles
index.html
login.html
想法是clientFiles目录层次结构仅包含客户端文件,并且默认情况下express.static()
不允许URL中的const path = require('path');
app.use(express.static(path.join(__dirname, "../clientFiles")));
语法位于其上方。