gpt4 book ai didi

node.js - Node ,express,处理url中的 ".."符号

转载 作者:太空宇宙 更新时间:2023-11-03 23:26:28 25 4
gpt4 key购买 nike

我希望在对 url 执行任何路由之前获取 Node (使用 Express 进行路由)来解析 url 中出现的所有 ../ 符号。

例如,如果在 url /a/b/../c/d/e/../../f 处查询 apache,它将首先解析所有 ../ 符号,最终将提供位于 /a/c/f 的任何内容。

但是,使用node+express,/a/b/../c/d/e/../../f按字面意思理解,并且不会匹配的路由/a/c/f。我的问题是以下代码不会响应像 /a/b/../c/d/e/../../f 这样的请求:

app.get('/a/c/f', function(req, res) {
return res.status(200).json({ msg: 'it worked!' });
});

如何让node+express解析url中的../符号?

最佳答案

您可以使用路径模块来连接 URL 段:

const path = require("path");

app.use(function(req, res, next) {
const pathArr = req.url.split("/");
req.url = path.join.apply(null, pathArr);
next();
});

将其重新分配给网址将允许任何后续的快速匹配器继续处理它,而无需手动控制提供任何内容。

关于node.js - Node ,express,处理url中的 ".."符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43616158/

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