Expressj에서 허용 된 URI를 제한하는 방법이 있습니까? like 문자의 변수를 설정하십시오 :Nodej Expressjs URI 문자
allowed_uri_chars = 'a-zA-Z0-9'; etc
Expressj에서 허용 된 URI를 제한하는 방법이 있습니까? like 문자의 변수를 설정하십시오 :Nodej Expressjs URI 문자
allowed_uri_chars = 'a-zA-Z0-9'; etc
일부 미들웨어에 정규식을 사용하는 것입니다 이동하는 가장 논리적이고 쉬운 방법 : URL이 이미 익스프레스에 의해 구문 분석됩니다 만, 공개적으로 노출되지 않는
var url = require("url");
app.use(function(req, res, next) {
var pathname = url.parse(req.url).pathname;
if(!pathname.match(/^[a-z0-9\/]+$/i)) return res.send(403);
next();
});
또는, 당신은 할 수 있습니다 구문 분석하고 (내가 조언하지 것이다) 익스프레스 내부에 의존하는 하나의 호출을 저장합니다 :
app.use(function(req, res, next) {
if(!req._parsedUrl.pathname.match(/^[a-z0-9\/]+$/i)) return res.send(403);
next();
});
이것은 당신의 경로 이름 (http://example.com/foo/bar?id=1334
를 들어, 경로 이름이 /foo/bar
을 것)을 보장 문자, 숫자 및 슬래시가 포함되어 있습니다. 그렇지 않으면 403을 발생시킵니다.
공인 문자를 구문 분석하기 위해 정규식을 사용할 수 없습니까?
라우팅에 직접 연결 하시겠습니까?
좋아요. 정규식을 사용하면 어떻게 될까요? 나는 이것을 성취하는 방법에 관해 정말로 모른다. 나는 요청을 확인하기 위해 미들웨어를 생각하고 있었다. 그리고 그것을 세계적으로 원한다. – georgesamper
완벽한! 내가 원한거야. – georgesamper
대단히 환영합니다 =) – Pierre