Example #1
0
        public async Task CodeBlockRealIPOnWhitelistBlacklistTest()
        {
            using (
                var server =
                    new TestServer(
                        WebHostBuilderHelper.CreateCodeBuilder(
                            new IPFilteringOptions
            {
                Whitelist = new List <string> {
                    "192.168.0.10-192.168.10.20"
                },
                Blacklist = new List <string> {
                    "192.168.0.100-192.168.0.150"
                },
            })))
            {
                // Act
                RequestBuilder request = server.CreateRequest("/");
                request.AddHeader("X-Real-IP", "192.168.0.120");

                HttpResponseMessage response = await request.SendAsync("PUT");

                // Assert
                Assert.AreEqual(HttpStatusCode.NotFound, response.StatusCode, "StatusCode != Not Found");
            }
        }
Example #2
0
        public async Task CodeAllowRealIPNotOnBlacklist4Test()
        {
            using (
                var server =
                    new TestServer(
                        WebHostBuilderHelper.CreateCodeBuilder(
                            new IPFilteringOptions
            {
                DefaultBlockLevel = DefaultBlockLevel.None,
                Blacklist = new List <string> {
                    "192.168.0.1"
                }
            })))
            {
                // Act
                RequestBuilder request = server.CreateRequest("/");
                request.AddHeader("X-Real-IP", "192.168.0.2");

                HttpResponseMessage response = await request.SendAsync("PUT");

                // Assert
                response.EnsureSuccessStatusCode();
                Assert.AreEqual(HttpStatusCode.OK, response.StatusCode, "StatusCode != OK");
            }
        }
        public async Task CodeBlockAllNotFoundTest()
        {
            using var server = new TestServer(WebHostBuilderHelper.CreateCodeBuilder());

            // Act
            HttpResponseMessage response = await server.CreateRequest("/").SendAsync("PUT");

            // Assert
            Assert.AreEqual(HttpStatusCode.NotFound, response.StatusCode, "StatusCode != Not Found");
        }
        public async Task CodeBlockAllForbiddenTest()
        {
            using var server = new TestServer(WebHostBuilderHelper.CreateCodeBuilder(new IPFilteringOptions { HttpStatusCode = HttpStatusCode.Forbidden }));

            // Act
            HttpResponseMessage response = await server.CreateRequest("/").SendAsync("PUT");

            // Assert
            Assert.AreEqual(HttpStatusCode.Forbidden, response.StatusCode, "StatusCode != Forbidden");
        }
        public async Task CodeAllowRealIPAllTest()
        {
            using var server = new TestServer(WebHostBuilderHelper.CreateCodeBuilder(new IPFilteringOptions { DefaultBlockLevel = DefaultBlockLevel.None }));

            // Act
            HttpResponseMessage response = await server.CreateRequest("/").SendAsync("PUT");

            // Assert
            response.EnsureSuccessStatusCode();
            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode, "StatusCode != OK");
        }
        public async Task FileBlockAllNotFoundTest()
        {
            using (var server = new TestServer(WebHostBuilderHelper.CreateBlockFileBuilder()))
            {
                // Act
                RequestBuilder request = server.CreateRequest("/");
                request.AddHeader("X-Real-IP", "192.168.0.1");

                HttpResponseMessage response = await request.SendAsync("PUT");

                Assert.AreEqual(HttpStatusCode.Unauthorized, response.StatusCode, "StatusCode != Unauthorized");
            }
        }
Example #7
0
        public async Task FileAllowRealIPOnBlacklistTest()
        {
            using var server = new TestServer(WebHostBuilderHelper.CreateAllowFileBuilder());

            // Act
            RequestBuilder request = server.CreateRequest("/");

            request.AddHeader("X-Real-IP", "192.168.0.10");

            HttpResponseMessage response = await request.SendAsync("PUT");

            // Assert
            Assert.AreEqual(HttpStatusCode.Unauthorized, response.StatusCode, "StatusCode != Unauthorized");
        }
Example #8
0
        public async Task FilePathBlockRealIPOnWhitelistBlacklistTest()
        {
            using var server = new TestServer(WebHostBuilderHelper.CreatePathBlockFileBuilder());

            // Act
            RequestBuilder request = server.CreateRequest("/pathget");

            request.AddHeader("X-Real-IP", "192.168.0.120");

            HttpResponseMessage response = await request.SendAsync("GET");

            // Assert
            Assert.AreEqual(HttpStatusCode.Unauthorized, response.StatusCode, "StatusCode != Not Found");
        }
Example #9
0
        public async Task FilePathAllowRealIPNotOnBlacklistTest()
        {
            using var server = new TestServer(WebHostBuilderHelper.CreatePathAllowFileBuilder());

            // Act
            RequestBuilder request = server.CreateRequest("/pathget");

            request.AddHeader("X-Real-IP", "192.168.0.1");

            HttpResponseMessage response = await request.SendAsync("GET");

            // Assert
            response.EnsureSuccessStatusCode();
            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode, "StatusCode != OK");
        }
Example #10
0
        public async Task FileAllowAllNotFoundTest2()
        {
            using var server = new TestServer(WebHostBuilderHelper.CreatePathBlockFileBuilder());

            // Act
            RequestBuilder request = server.CreateRequest("/");

            request.AddHeader("X-Real-IP", "192.168.0.1");

            HttpResponseMessage response = await request.SendAsync("PUT");

            // Assert
            response.EnsureSuccessStatusCode();
            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode, "StatusCode != OK");
        }
        public async Task FileAllowRealIPOnWhitelistBlacklistTest()
        {
            using (var server = new TestServer(WebHostBuilderHelper.CreateBlockFileBuilder()))
            {
                // Act
                RequestBuilder request = server.CreateRequest("/");
                request.AddHeader("X-Real-IP", "192.168.0.10");

                HttpResponseMessage response = await request.SendAsync("PUT");

                // Assert
                response.EnsureSuccessStatusCode();
                Assert.AreEqual(HttpStatusCode.OK, response.StatusCode, "StatusCode != OK");
            }
        }
Example #12
0
        public async Task FileIgnoreGetTest()
        {
            using (var server = new TestServer(WebHostBuilderHelper.CreateIgnoreFileBuilder()))
            {
                // Act
                RequestBuilder request = server.CreateRequest("/ignoreget");
                request.AddHeader("X-Real-IP", "192.168.0.1");

                HttpResponseMessage response = await request.SendAsync("GET");

                // Assert
                response.EnsureSuccessStatusCode();
                Assert.AreEqual(HttpStatusCode.OK, response.StatusCode, "StatusCode != OK");
            }
        }
        public async Task CodeBlockForwarderForNotOnWhitelistTest()
        {
            using var server =
                      new TestServer(
                          WebHostBuilderHelper.CreateCodeBuilder(
                              new IPFilteringOptions { Whitelist = new List <string> { "192.168.0.10-192.168.10.20" } }));

            // Act
            RequestBuilder request = server.CreateRequest("/");

            request.AddHeader("X-Forwarded-For", "192.168.0.9, 192.168.0.10, 192.168.0.11");

            HttpResponseMessage response = await request.SendAsync("PUT");

            // Assert
            Assert.AreEqual(HttpStatusCode.NotFound, response.StatusCode, "StatusCode != Not Found");
        }
        public async Task CodeBlockRealIPNotOnWhitelist3Test()
        {
            using var server =
                      new TestServer(
                          WebHostBuilderHelper.CreateCodeBuilder(
                              new IPFilteringOptions { Whitelist = new List <string> { "fe80::/10" } }));

            // Act
            RequestBuilder request = server.CreateRequest("/");

            request.AddHeader("X-Real-IP", "::1");

            HttpResponseMessage response = await request.SendAsync("PUT");

            // Assert
            Assert.AreEqual(HttpStatusCode.NotFound, response.StatusCode, "StatusCode != Not Found");
        }
        public async Task CodeAllowForwardedForOnWhitelistTest()
        {
            using var server =
                      new TestServer(
                          WebHostBuilderHelper.CreateCodeBuilder(
                              new IPFilteringOptions { Whitelist = new List <string> { "192.168.0.10-192.168.10.20" } }));

            // Act
            RequestBuilder request = server.CreateRequest("/");

            request.AddHeader("X-Forwarded-For", "192.168.0.10, 192.168.0.9, 192.168.0.8");

            HttpResponseMessage response = await request.SendAsync("PUT");

            // Assert
            response.EnsureSuccessStatusCode();
            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode, "StatusCode != OK");
        }
        public async Task CodeAllowRealIPOnWhitelist3Test()
        {
            using var server =
                      new TestServer(
                          WebHostBuilderHelper.CreateCodeBuilder(
                              new IPFilteringOptions { Whitelist = new List <string> { "fe80::/10" } }));

            // Act
            RequestBuilder request = server.CreateRequest("/");

            request.AddHeader("X-Real-IP", "fe80::d503:4ee:3882:c586");

            HttpResponseMessage response = await request.SendAsync("PUT");

            // Assert
            response.EnsureSuccessStatusCode();
            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode, "StatusCode != OK");
        }
        public async Task CodeBlockRealIPOnBlacklist3Test()
        {
            using var server =
                      new TestServer(
                          WebHostBuilderHelper.CreateCodeBuilder(
                              new IPFilteringOptions
            {
                DefaultBlockLevel = DefaultBlockLevel.None,
                Blacklist         = new List <string> { "fe80::/10" }
            }));

            // Act
            RequestBuilder request = server.CreateRequest("/");

            request.AddHeader("X-Real-IP", "fe80::d503:4ee:3882:c586");

            HttpResponseMessage response = await request.SendAsync("PUT");

            // Assert
            Assert.AreEqual(HttpStatusCode.NotFound, response.StatusCode, "StatusCode != Not Found");
        }
Example #18
0
        public async Task CodeAllowRealIPOnWhitelist1Test()
        {
            using (
                var server =
                    new TestServer(
                        WebHostBuilderHelper.CreateCodeBuilder(
                            new IPFilteringOptions {
                Whitelist = new List <string> {
                    "192.168.0.0/255.255.255.0"
                }
            })))
            {
                // Act
                RequestBuilder request = server.CreateRequest("/");
                request.AddHeader("X-Real-IP", "192.168.0.34");

                HttpResponseMessage response = await request.SendAsync("PUT");

                // Assert
                response.EnsureSuccessStatusCode();
                Assert.AreEqual(HttpStatusCode.OK, response.StatusCode, "StatusCode != OK");
            }
        }