- 编解码器视频:**link
- 说明:**
作为我的Codecademy Back-End Engineer training
的一部分,我必须在他们的平台之外做一个项目,这个项目的目标是确保一个节点应用程序免受常见的web攻击。
我面临的一个挑战是保护来自Cross-Site Scripting (XSS) attacks
的代码。为了做到这一点,我使用了一个名为express-validator@6.12.1
的包。代码使用了一个名为validator.escape
的函数,该函数旨在防止任何恶意代码插入到输入表单中。然而,当我尝试使用它时,在控制台中得到了一个错误。
- 终端输出:**
TypeError: validator.escape is not a function
- 代码如下:**
const validator = require("express-validator");
app.post("/public_forum", function (request, response) {
if (request.session.loggedin) {
var comment = validator.escape(request.body.comment);
var username = request.session.username;
if (comment) {
db.all(
`INSERT INTO public_forum (username,message) VALUES ('${username}','${comment}')`,
(err, rows) => {
console.log(err);
}
);
db.all(`SELECT username,message FROM public_forum`, (err, rows) => {
console.log(rows);
console.log(err);
response.render("forum", { rows });
});
} else {
db.all(`SELECT username,message FROM public_forum`, (err, rows) => {
console.log(rows);
console.log(err);
response.render("forum", { rows });
});
}
comment = "";
} else {
response.redirect("/");
}
comment = "";
//response.end();
});
在Codecademy
的视频中,这个家伙使用了这个函数。
2条答案
按热度按时间zbdgwd5y1#
尝试:
官方文档链接
f3temu5u2#
我已经实现了您的代码。我尝试添加恶意和安全注解,但我的浏览器上显示错误消息“Port 4000 Not Found”。每次我运行该代码时,它都会杀死端口。因此,我根据您发送给我的代码实现了另一个运行良好的代码。