Walter.Web.FireWall.Geo.Native 2020.9.28.2

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package Walter.Web.FireWall.Geo.Native --version 2020.9.28.2                
NuGet\Install-Package Walter.Web.FireWall.Geo.Native -Version 2020.9.28.2                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Walter.Web.FireWall.Geo.Native" Version="2020.9.28.2" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Walter.Web.FireWall.Geo.Native --version 2020.9.28.2                
#r "nuget: Walter.Web.FireWall.Geo.Native, 2020.9.28.2"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Walter.Web.FireWall.Geo.Native as a Cake Addin
#addin nuget:?package=Walter.Web.FireWall.Geo.Native&version=2020.9.28.2

// Install Walter.Web.FireWall.Geo.Native as a Cake Tool
#tool nuget:?package=Walter.Web.FireWall.Geo.Native&version=2020.9.28.2                

This package allows you to protect your firewall using annotations and pre-specified rules. A full getting started document is available at www.asp-waf.com in form of a PDF, compiled help and simple instructions

The bellow sample shows how you integrate and enable the firewall in your project and use your own DNS for Geography.

services.AddFireWall(FireWallTrail.License, FireWallTrail.DomainKey
    , domainName: new Uri("https://www.your-domain.com", UriKind.Absolute)
    , options =>
    {
        options.Cypher.ApplicationPassword = "123456$even";
        options.ApplicationName = "Name as used for reporting";
        options.ApplicationTag = "ITIL Tag";
        options.Rules.BlockRequest.BlockDuration.SlideExpiration = true;
        options.Rules.BlockRequest.BlockDuration.Expires = TimeSpan.FromSeconds(10);

        //used by JavaScript in the browser
        options.WebServices.IsUserApiUrl = new Uri(Links.IsUserEndpoint, UriKind.Relative);
        options.WebServices.RegisterLinksApiUrl = new Uri(Links.SiteMapEndPoint, UriKind.Relative);
        options.WebServices.BeaconApiUrl = new Uri(Links.BeaconPoint, UriKind.Relative);

}).UseGeography();
//protect each MVC controller
services.AddMvc(options =>
    options.Filters.Add<Walter.Web.FireWall.Filters.FireWallFilter>()
);

The firewall is fully configurable and has quite a few options that allow you to protect against fishing, scrubbing, cross-site attach and much more.

There are a ton of configuration options available using the many annotations

   namespace MyProject.Controllers
   {
       using Walter.Web.FireWall;
       using Walter.Web.FireWall.Annotations;
       using Walter.BOM.Geo;

       [Geo(blockLocation: GeoLocation.AFRICA | GeoLocation.LATIN_AMERICA | GeoLocation.Netherlands)]
       [Users(users: UserTypes.IsHuman | UserTypes.IsSearchEngine)]
       [BlockDuration(duration: 60, sliding: true, doubleDurationPerIncedent: true)]
       public sealed class MembersController : Controller
       {
           private readonly ILogger<MembersController> _logger;
            private readonly IPageRequest _page;
           public HomeController(ILogger<MembersController> logger,IPageRequest page)
           {
               _logger = logger;
               _page=page;
           }

           public IActionResult Index()
           {
               return View();
           }


           [Ignore]
           [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
           public IActionResult Error()
           {
               //the page field will contain all the errors the user ran into
               return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
           }
       }
   }

This is just a small set of options of what's possible with the Native Geography provider

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp3.0 is compatible.  netcoreapp3.1 is compatible. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2024.11.20.644 42 11/21/2024
2024.11.15.421 72 11/15/2024
2024.11.11.1334 71 11/14/2024
2024.11.6.1222 75 11/6/2024
2024.10.28.1605 96 10/28/2024
2024.10.28.1335 73 10/28/2024
2024.10.19.1525 87 10/20/2024
2024.10.18.1315 111 10/18/2024
2024.9.27.1406 85 9/27/2024
2024.9.17.1417 148 9/17/2024
2024.9.12.1923 112 9/12/2024
2024.9.6.1352 105 9/7/2024
2024.9.1.1159 97 9/1/2024
2024.8.26.1150 115 8/26/2024
2024.8.19.1411 119 8/19/2024
2024.8.17.1000 122 8/17/2024
2024.8.12.1622 112 8/13/2024
2024.8.5.1010 74 8/5/2024
2024.8.1.1545 127 8/16/2024
2024.7.28.629 94 7/28/2024
2024.7.26.1512 92 7/26/2024
2024.7.26.828 93 7/26/2024
2024.7.11.1604 106 7/11/2024
2024.7.9.1520 99 7/9/2024
2024.7.4.1425 107 7/4/2024
2024.7.3.1249 100 7/3/2024
2024.7.2.1536 115 7/2/2024
2024.6.28.953 132 6/28/2024
2023.11.13.1117 509 11/13/2023
2023.10.26.1502 449 10/29/2023
2023.10.12.1926 479 10/12/2023
2023.9.14.812 527 9/14/2023
2023.9.7.1748 548 9/7/2023
2023.9.7.1241 506 9/7/2023
2023.9.6.1001 545 9/6/2023
2023.9.5.1246 514 9/5/2023
2023.9.5.1032 525 9/5/2023
2023.8.31.1522 543 8/31/2023
2023.8.29.1040 562 8/29/2023
2023.8.17.901 570 8/17/2023
2023.8.9.1314 631 8/9/2023
2023.8.2.750 635 8/2/2023
2023.7.12.830 637 7/12/2023
2023.7.5.1419 681 7/6/2023
2023.6.14.1628 640 6/14/2023
2023.6.11.1304 654 6/11/2023
2023.5.30.1640 630 5/30/2023
2023.5.4.1552 654 5/4/2023
2023.5.1.1524 674 5/1/2023
2023.4.29.910 681 4/29/2023
2023.4.12.1236 672 4/12/2023
2023.3.22.1456 727 3/22/2023
2023.3.14.1356 764 3/14/2023
2023.3.1.810 810 3/1/2023
2023.2.25.11857 763 2/25/2023
2023.2.22.27 741 2/22/2023
2023.2.15.1413 764 2/15/2023
2023.2.11.1628 796 2/11/2023
2023.1.11.534 826 1/11/2023
2022.12.30.711 779 12/30/2022
2022.12.15.1108 827 12/15/2022
2022.12.14.648 828 12/14/2022
2022.11.27.1059 835 11/27/2022
2022.11.21.338 828 11/21/2022
2022.11.14.1819 859 11/14/2022
2022.11.13.917 912 11/13/2022
2022.10.31.740 1,005 11/1/2022
2022.10.15.652 1,009 10/15/2022
2022.10.1.810 1,014 10/1/2022
2022.9.26.1444 998 9/26/2022
2022.9.14.1508 1,064 9/14/2022
2022.9.14.809 1,089 9/14/2022
2022.9.8.1009 1,080 9/8/2022
2022.8.20.1007 1,006 8/20/2022
2022.8.1.1 1,083 7/31/2022
2022.7.1300 1,067 7/1/2022
2022.7.31.1016 1,145 7/31/2022
2022.7.15.841 1,173 7/15/2022
2022.6.21.647 1,078 6/21/2022
2022.5.18.638 1,050 5/19/2022
2022.5.16.853 1,047 5/19/2022
2022.5.16.816 1,141 5/16/2022
2022.5.4.1010 1,070 5/4/2022
2022.4.10.947 1,119 4/10/2022
2022.4.10.925 1,114 4/10/2022
2022.4.10.828 1,071 4/10/2022
2022.4.1.1545 1,171 4/1/2022
2022.3.31.823 1,157 3/31/2022
2022.3.26.1103 1,242 3/26/2022
2022.3.26.820 1,179 3/26/2022
2022.3.25.840 1,272 3/26/2022
2022.2.16.1131 1,192 2/17/2022
2022.2.16.834 1,206 2/17/2022
2022.2.5.1114 1,269 2/5/2022
2022.1.17.1158 1,258 1/17/2022
2022.1.10.1505 1,280 1/10/2022
2022.1.10.537 1,380 1/10/2022
2022.1.5.1139 1,119 1/8/2022
2021.12.28.1452 1,502 12/28/2021
2021.12.16.812 1,303 12/16/2021
2021.11.23.1528 7,548 11/24/2021
2021.11.21.925 1,135 11/22/2021
2021.11.19.847 1,319 11/19/2021
2021.11.18.1824 1,202 11/16/2021
2021.11.10.852 1,140 11/10/2021
2021.11.9.2021 1,305 11/9/2021
2021.11.8.2109 1,156 11/9/2021
2021.11.8.1612 1,252 11/8/2021
2021.11.7.1021 1,218 11/8/2021
2021.11.3.1612 1,171 11/4/2021
2021.11.1.1102 1,113 11/1/2021
2021.10.25.1206 1,174 10/25/2021
2021.10.23.1310 1,186 10/25/2021
2021.10.19.1522 1,235 10/19/2021
2021.10.16.1325 1,251 10/18/2021
2021.10.9.1119 81 10/9/2024
2021.10.6.1546 1,191 10/6/2021
2021.10.5.1450 1,261 10/5/2021
2021.10.4.1155 1,228 10/5/2021
2021.10.1.753 1,115 10/1/2021
2021.9.27.1005 1,107 9/28/2021
2021.9.26.1913 1,103 9/26/2021
2021.9.17.1702 1,114 9/17/2021
2021.9.17.1449 1,074 9/17/2021
2021.9.12.1100 1,172 9/13/2021
2021.9.11.2004 1,358 9/11/2021
2021.9.9.1110 1,272 9/9/2021
2021.9.7.1901 1,242 9/8/2021
2021.9.7.1121 1,206 9/7/2021
2021.9.6.1518 1,206 9/7/2021
2021.9.4.1124 1,161 9/4/2021
2021.9.2.708 1,123 9/4/2021
2021.9.0.1259 1,100 9/2/2021
2021.8.2100 1,204 8/23/2021
2021.8.22.900 1,170 8/22/2021
2021.8.18.1500 1,245 8/18/2021
2021.8.18.930 1,117 8/18/2021
2021.8.14.1600 1,183 8/16/2021
2021.8.14.829 1,262 8/14/2021
2021.8.9.1105 1,155 8/9/2021
2021.8.8.1612 1,139 8/8/2021
2021.8.8.1138 1,197 8/8/2021
2021.8.6.1044 1,230 8/6/2021
2021.8.4.1355 1,261 8/5/2021
2021.7.30.2118 1,211 7/31/2021
2021.7.27.926 1,222 7/28/2021
2021.7.23.931 1,158 7/26/2021
2021.7.22.1456 1,092 7/23/2021
2021.7.15.1547 1,140 7/15/2021
2021.7.13.812 1,117 7/13/2021
2021.7.8.1527 1,303 7/10/2021
2021.6.29.1453 1,275 6/30/2021
2021.6.26.1753 1,297 6/27/2021
2021.6.25.1849 1,244 6/25/2021
2021.6.24.1518 1,174 6/24/2021
2021.6.20.729 1,149 6/20/2021
2021.6.15.2006 1,185 6/15/2021
2021.6.14.2025 1,215 6/15/2021
2021.6.13.2035 1,142 6/14/2021
2021.6.12.1154 1,198 6/13/2021
2021.6.9.1120 1,245 6/9/2021
2021.6.3.1509 1,327 6/3/2021
2021.5.31.1533 1,159 5/31/2021
2021.5.31.1415 1,168 5/31/2021
2021.5.25.1732 1,252 5/25/2021
2021.5.24.1128 1,175 5/24/2021
2021.5.24.1019 1,157 5/24/2021
2021.5.12.1054 1,047 5/12/2021
2021.5.12.637 1,140 5/12/2021
2021.5.10.1442 1,223 5/11/2021
2021.5.8.1226 1,135 5/8/2021
2021.5.6.2037 1,135 5/6/2021
2021.5.5.1901 1,118 5/6/2021
2021.5.3.1621 1,040 5/4/2021
2021.5.1.905 1,133 5/1/2021
2021.4.28.1511 1,199 4/28/2021
2021.4.20.1520 1,208 4/21/2021
2021.4.16.738 1,061 4/21/2021
2021.4.14.1216 1,101 4/16/2021
2021.4.9.1538 1,114 4/13/2021
2021.4.8.947 1,208 4/13/2021
2021.4.6.1235 1,141 4/6/2021
2021.4.5.1653 1,172 4/5/2021
2021.4.1.913 1,183 4/1/2021
2021.3.31.2003 1,261 4/1/2021
2021.3.18.1622 1,124 3/18/2021
2021.3.3.1259 1,191 3/3/2021
2021.3.2.1415 1,183 3/2/2021
2021.3.1.11 1,192 2/28/2021
2021.3.1.1 1,170 2/27/2021
2021.3.1 1,155 2/27/2021
2021.2.21.1 1,191 2/21/2021
2021.2.20.1 1,167 2/20/2021
2021.2.19.2 1,140 2/19/2021
2021.2.18.6 1,175 2/19/2021
2021.2.17.1 1,234 2/17/2021
2021.2.16.1 1,208 2/16/2021
2021.2.15.3 1,171 2/15/2021
2021.2.15.1 1,189 2/14/2021
2021.2.14.3 1,196 2/14/2021
2021.2.12.6 1,151 2/12/2021
2021.2.12.2 1,123 2/12/2021
2021.2.11.1 1,172 2/11/2021
2021.2.10.1 1,155 2/10/2021
2021.2.8.1 1,142 2/9/2021
2021.2.7.2 1,210 2/7/2021
2021.2.7.1 1,144 2/6/2021
2020.12.27.6 1,223 12/27/2020
2020.12.27.1 1,301 12/27/2020
2020.12.26.7 1,150 12/27/2020
2020.12.26.5 1,199 12/27/2020
2020.12.26.3 1,269 12/27/2020
2020.12.19.1 1,352 12/19/2020
2020.12.16.1 1,164 12/16/2020
2020.12.15.1 1,225 12/15/2020
2020.12.14.5 1,287 12/14/2020
2020.12.14.4 1,271 12/14/2020
2020.12.14.3 1,274 12/14/2020
2020.12.5.1 1,341 12/5/2020
2020.12.4.4 1,303 12/4/2020
2020.12.4.3 1,283 12/4/2020
2020.12.4.1 1,264 12/4/2020
2020.12.3.1 1,309 12/3/2020
2020.12.2.4 1,238 12/2/2020
2020.12.1.1 1,353 12/1/2020
2020.11.28.1 1,261 11/28/2020
2020.11.27.2 1,302 11/27/2020
2020.11.27.1 1,296 11/27/2020
2020.11.25.1 1,267 11/25/2020
2020.11.22.3 1,259 11/23/2020
2020.11.20.1 1,351 11/21/2020
2020.11.19.3 1,336 11/19/2020
2020.11.19.1 1,290 11/19/2020
2020.11.18.2 1,318 11/18/2020
2020.11.17.2 1,330 11/17/2020
2020.11.17.1 1,310 11/17/2020
2020.11.15.1 1,383 11/15/2020
2020.11.14.1 1,460 11/14/2020
2020.11.13.2 1,267 11/13/2020
2020.11.13.1 1,354 11/13/2020
2020.11.12.1 1,266 11/12/2020
2020.11.11.1 1,313 11/11/2020
2020.11.8.1 1,384 11/8/2020
2020.11.7.1 1,258 11/7/2020
2020.11.5.1 1,286 11/5/2020
2020.11.3.1 1,380 11/3/2020
2020.11.1.3 1,321 11/1/2020
2020.11.1.2 1,240 11/1/2020
2020.11.1.1 1,350 11/1/2020
2020.10.30.1 1,367 11/1/2020
2020.10.15.3 1,306 10/15/2020
2020.10.15.2 1,293 10/15/2020
2020.10.14.1 1,285 10/14/2020
2020.10.13.1 1,276 10/13/2020
2020.10.12.2 1,289 10/12/2020
2020.10.12.1 1,253 10/12/2020
2020.10.10.1 1,379 10/10/2020
2020.10.9.6 1,231 10/9/2020
2020.10.9.2 1,256 10/9/2020
2020.10.9.1 1,320 10/9/2020
2020.10.8.1 1,275 10/8/2020
2020.10.6.8 1,201 10/7/2020
2020.10.6.6 1,274 10/7/2020
2020.10.6.5 1,317 10/7/2020
2020.10.6.4 1,265 10/7/2020
2020.10.6.3 1,316 10/7/2020
2020.10.6.2 1,355 10/7/2020
2020.10.6.1 1,376 10/7/2020
2020.10.5.1 1,297 10/6/2020
2020.10.1.3 1,287 10/1/2020
2020.10.1.2 1,275 10/1/2020
2020.10.1.1 1,268 10/1/2020
2020.9.29.10 1,312 9/29/2020
2020.9.29.9 1,412 9/29/2020
2020.9.28.2 1,315 9/28/2020
2020.9.28.1 1,277 9/28/2020
2020.9.25.1 1,378 9/26/2020
2020.9.24.2 1,236 9/24/2020
2020.9.24 1,206 9/24/2020
2020.9.23.2 1,295 9/23/2020
2020.9.23.1 1,320 9/23/2020
2020.9.22.1 1,336 9/22/2020
2020.9.21.1 1,314 9/21/2020
2020.9.17.2 1,276 9/17/2020
2020.9.16 1,313 9/16/2020
2020.9.15 1,311 9/15/2020
2020.9.14 1,230 9/14/2020
2020.9.9.2 1,293 9/9/2020
2020.9.8.1 1,283 9/8/2020
2020.9.8 1,274 9/8/2020
2020.9.6.5 1,374 9/6/2020
2020.9.4.2 1,278 9/4/2020
2020.9.4 1,304 9/4/2020
2020.9.3.1 1,295 9/3/2020

This free api library may not give accurate results as it uses unchecked public domain data
     2020.09.09
     - Use IFirewallServiceCollection on builder because else it would register with any .net app but crash as IFirewall is missing
     - update NuGet package references
     
     2020.09.08
     - update NuGet package references
     
     2020.09.04
     - update documentation and references