From 702220d18ef7e6ef955a97fef0b4f2588c629b55 Mon Sep 17 00:00:00 2001 From: Redkale <22250530@qq.com> Date: Wed, 19 Jul 2017 10:51:17 +0800 Subject: [PATCH] --- src/org/redkale/net/http/HttpRequest.java | 1 - src/org/redkale/net/http/HttpResourceServlet.java | 5 +++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/org/redkale/net/http/HttpRequest.java b/src/org/redkale/net/http/HttpRequest.java index 77443a801..f009db6dc 100644 --- a/src/org/redkale/net/http/HttpRequest.java +++ b/src/org/redkale/net/http/HttpRequest.java @@ -121,7 +121,6 @@ public class HttpRequest extends Request { } else { this.requestURI = array.toDecodeString(index, offset - index, charset).trim(); } - if (this.requestURI.contains("../")) return -1; index = ++offset; this.protocol = array.toString(index, array.size() - index, charset).trim(); while (readLine(buffer, array)) { diff --git a/src/org/redkale/net/http/HttpResourceServlet.java b/src/org/redkale/net/http/HttpResourceServlet.java index 7f77afd82..71fdb35fd 100644 --- a/src/org/redkale/net/http/HttpResourceServlet.java +++ b/src/org/redkale/net/http/HttpResourceServlet.java @@ -192,6 +192,11 @@ public class HttpResourceServlet extends HttpServlet { @Override public void execute(HttpRequest request, HttpResponse response) throws IOException { String uri = request.getRequestURI(); + if (uri.contains("../")) { + if (finest) logger.log(Level.FINEST, "Not found resource (404) be " + uri + ", request = " + request); + response.finish404(); + return; + } if (locationRewrites != null) { for (SimpleEntry entry : locationRewrites) { Matcher matcher = entry.getKey().matcher(uri);