Ejemplo n.º 1
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");
            }
        }
Ejemplo n.º 2
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");
            }
        }
        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 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 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 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");
        }
Ejemplo n.º 11
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");
            }
        }