Walter.Web.FireWall.Geo.MaxMind 2020.9.15

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.MaxMind --version 2020.9.15                
NuGet\Install-Package Walter.Web.FireWall.Geo.MaxMind -Version 2020.9.15                
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.MaxMind" Version="2020.9.15" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Walter.Web.FireWall.Geo.MaxMind --version 2020.9.15                
#r "nuget: Walter.Web.FireWall.Geo.MaxMind, 2020.9.15"                
#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.MaxMind as a Cake Addin
#addin nuget:?package=Walter.Web.FireWall.Geo.MaxMind&version=2020.9.15

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

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 MaxMind for Geography. You can get free as well as paid geo data from https://www.maxmind.com these samples assume GeoLite2-Country.mmdb and GeoLite2-City.mmdb are available in a directory called D:\MaxMind and are shared by several web applications. If no path is provided App_Data is assumed.

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(new System.IO.DirectoryInfo("D:\\MaxMind"));
//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

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.15.421 128 11/15/2024
2024.11.11.1334 86 11/14/2024
2024.11.6.1222 88 11/6/2024
2024.10.28.1605 123 10/28/2024
2024.10.28.1335 102 10/28/2024
2024.10.19.1525 120 10/20/2024
2024.10.18.1315 152 10/18/2024
2024.9.27.1406 103 9/27/2024
2024.9.17.1417 160 9/17/2024
2024.9.12.1923 150 9/12/2024
2024.9.6.1352 152 9/7/2024
2024.9.1.1159 151 9/1/2024
2024.8.26.1150 151 8/26/2024
2024.8.19.1411 185 8/19/2024
2024.8.17.1000 188 8/17/2024
2024.8.12.1622 149 8/13/2024
2024.8.5.1010 107 8/5/2024
2024.8.1.1545 211 8/16/2024
2024.7.28.629 82 7/28/2024
2024.7.26.1512 124 7/26/2024
2024.7.26.828 118 7/26/2024
2024.7.11.1604 131 7/11/2024
2024.7.9.1520 131 7/9/2024
2024.7.4.1425 143 7/4/2024
2024.7.3.1249 143 7/3/2024
2024.7.2.1536 157 7/2/2024
2024.6.28.953 120 6/28/2024
2023.11.13.1117 216 11/13/2023
2023.10.26.1502 195 10/29/2023
2023.10.12.1926 221 10/12/2023
2023.9.6.1001 205 9/6/2023
2023.9.5.1246 199 9/5/2023
2023.9.5.1032 192 9/5/2023
2023.8.29.1040 206 8/29/2023
2023.8.17.901 205 8/17/2023
2023.8.9.1314 216 8/9/2023
2023.8.2.750 212 8/2/2023
2023.7.12.830 199 7/12/2023
2023.7.5.1419 227 7/6/2023
2023.6.14.1628 210 6/15/2023
2023.6.11.1304 230 6/14/2023
2023.5.30.1640 191 5/30/2023
2023.5.4.1552 258 5/4/2023
2023.5.1.1524 272 5/1/2023
2023.4.29.910 234 4/29/2023
2023.4.12.1236 281 4/12/2023
2023.3.22.1456 359 3/22/2023
2023.3.14.1356 283 3/14/2023
2023.3.1.810 333 3/1/2023
2023.2.25.11857 340 2/25/2023
2023.2.22.27 321 2/22/2023
2023.2.15.1413 337 2/15/2023
2023.2.11.1628 325 2/11/2023
2023.1.11.534 462 1/11/2023
2022.12.30.711 362 12/30/2022
2022.12.15.1108 373 12/15/2022
2022.12.14.648 387 12/14/2022
2022.11.27.1059 433 11/27/2022
2022.11.21.338 445 11/21/2022
2022.11.14.1819 440 11/14/2022
2022.11.13.917 413 11/13/2022
2022.10.31.740 449 11/1/2022
2022.10.15.652 495 10/15/2022
2022.10.1.810 529 10/1/2022
2022.9.26.1444 530 9/26/2022
2022.9.14.1508 604 9/14/2022
2022.9.14.809 582 9/14/2022
2022.9.8.1009 591 9/8/2022
2022.8.20.1007 616 8/20/2022
2022.8.1.1 602 7/31/2022
2022.7.1300 596 7/1/2022
2022.7.31.1016 603 7/31/2022
2022.7.15.841 616 7/15/2022
2022.6.21.647 680 6/21/2022
2022.5.18.638 628 5/19/2022
2022.5.16.853 616 5/19/2022
2022.5.16.816 742 5/16/2022
2022.5.4.1010 654 5/4/2022
2022.4.10.947 711 4/10/2022
2022.4.10.925 688 4/10/2022
2022.4.10.828 704 4/10/2022
2022.4.1.1545 711 4/1/2022
2022.3.31.823 749 3/31/2022
2022.3.26.1103 684 3/26/2022
2022.3.26.820 660 3/26/2022
2022.3.25.840 725 3/26/2022
2022.2.11.1452 667 2/17/2022
2022.2.5.1114 680 2/5/2022
2022.1.17.1158 699 1/17/2022
2022.1.10.1505 680 1/10/2022
2022.1.10.537 571 1/10/2022
2022.1.5.1139 667 1/8/2022
2021.12.28.1452 774 12/28/2021
2021.12.16.812 540 12/16/2021
2021.11.23.1528 6,793 11/24/2021
2021.11.21.925 553 11/22/2021
2021.11.19.1503 617 11/22/2021
2021.11.19.847 637 11/19/2021
2021.11.18.1824 594 11/16/2021
2021.11.10.852 654 11/10/2021
2021.11.9.2021 674 11/9/2021
2021.11.8.1612 689 11/8/2021
2021.11.7.1021 618 11/8/2021
2021.11.3.1612 688 11/4/2021
2021.11.1.1102 725 11/1/2021
2021.10.25.1206 848 10/25/2021
2021.10.23.1310 768 10/25/2021
2021.10.19.1522 736 10/19/2021
2021.10.16.1325 794 10/18/2021
2021.10.9.1119 114 10/9/2024
2021.10.6.1546 633 10/6/2021
2021.10.5.1450 708 10/5/2021
2021.10.4.1155 849 10/5/2021
2021.10.1.753 807 10/1/2021
2021.9.27.1005 659 9/28/2021
2021.9.26.1913 769 9/26/2021
2021.9.19.1015 719 9/19/2021
2021.9.17.1702 740 9/17/2021
2021.9.17.1449 718 9/17/2021
2021.9.13.1600 713 9/15/2021
2021.9.11.2004 822 9/11/2021
2021.9.9.1110 765 9/9/2021
2021.9.7.1901 775 9/8/2021
2021.9.7.1121 720 9/7/2021
2021.9.4.1124 707 9/4/2021
2021.9.2.708 711 9/4/2021
2021.9.0.1259 681 9/2/2021
2021.8.2100 746 8/23/2021
2021.8.22.900 627 8/22/2021
2021.8.18.1500 797 8/18/2021
2021.8.18.930 856 8/18/2021
2021.8.14.1600 802 8/16/2021
2021.8.14.829 801 8/14/2021
2021.8.9.1105 982 8/9/2021
2021.8.8.1612 697 8/8/2021
2021.8.8.1138 705 8/8/2021
2021.8.6.1044 620 8/6/2021
2021.8.4.1355 917 8/5/2021
2021.7.30.2118 814 7/31/2021
2021.7.27.926 748 7/28/2021
2021.7.23.931 727 7/26/2021
2021.7.22.1456 642 7/23/2021
2021.7.15.1547 627 7/15/2021
2021.7.13.812 687 7/13/2021
2021.7.8.1527 770 7/10/2021
2021.7.5.1649 645 7/5/2021
2021.6.29.1453 643 6/30/2021
2021.6.26.1753 715 6/27/2021
2021.6.25.1849 673 6/25/2021
2021.6.24.1518 854 6/24/2021
2021.6.20.729 763 6/20/2021
2021.6.15.2006 730 6/15/2021
2021.6.14.2025 670 6/15/2021
2021.6.13.2035 573 6/14/2021
2021.6.12.1154 650 6/13/2021
2021.6.9.1120 677 6/9/2021
2021.6.3.1509 683 6/3/2021
2021.5.31.1533 683 5/31/2021
2021.5.31.1415 645 5/31/2021
2021.5.25.1732 634 5/25/2021
2021.5.24.1128 671 5/24/2021
2021.5.24.1019 719 5/24/2021
2021.5.12.1054 644 5/12/2021
2021.5.12.637 647 5/12/2021
2021.5.10.1442 611 5/11/2021
2021.5.8.1226 586 5/8/2021
2021.5.6.2037 659 5/6/2021
2021.5.5.1901 629 5/6/2021
2021.5.3.1621 626 5/4/2021
2021.5.1.905 625 5/1/2021
2021.4.28.1511 594 4/28/2021
2021.4.20.1520 682 4/21/2021
2021.4.16.738 690 4/21/2021
2021.4.14.1216 726 4/16/2021
2021.4.9.1538 697 4/13/2021
2021.4.8.947 645 4/13/2021
2021.4.6.1235 620 4/6/2021
2021.4.5.1653 537 4/5/2021
2021.4.1.913 594 4/1/2021
2021.3.31.2003 574 4/1/2021
2021.3.18.1622 649 3/18/2021
2021.3.3.1259 670 3/3/2021
2021.3.2.1415 603 3/2/2021
2021.3.1.11 654 2/28/2021
2021.3.1.1 686 2/27/2021
2021.3.1 693 2/27/2021
2021.2.23.6 689 2/23/2021
2021.2.21.1 586 2/21/2021
2021.2.20.1 578 2/20/2021
2021.2.19.2 627 2/19/2021
2021.2.18.6 653 2/19/2021
2021.2.17.1 689 2/17/2021
2021.2.16.1 688 2/16/2021
2021.2.15.3 609 2/15/2021
2021.2.15.1 621 2/14/2021
2021.2.14.3 620 2/14/2021
2021.2.12.6 635 2/12/2021
2021.2.12.2 603 2/12/2021
2021.2.11.1 533 2/11/2021
2021.2.10.1 636 2/10/2021
2021.2.8.1 690 2/9/2021
2021.2.7.2 696 2/7/2021
2021.2.7.1 656 2/6/2021
2020.12.27.6 731 12/27/2020
2020.12.27.1 697 12/27/2020
2020.12.26.5 651 12/27/2020
2020.12.26.3 645 12/27/2020
2020.12.19.1 807 12/19/2020
2020.12.16.1 633 12/16/2020
2020.12.15.1 651 12/15/2020
2020.12.14.5 626 12/14/2020
2020.12.14.4 657 12/14/2020
2020.12.14.3 609 12/14/2020
2020.12.5.1 690 12/5/2020
2020.12.4.4 706 12/4/2020
2020.12.4.3 695 12/4/2020
2020.12.4.1 678 12/4/2020
2020.12.3.1 694 12/3/2020
2020.12.2.4 657 12/2/2020
2020.12.2.3 732 12/2/2020
2020.12.1.1 640 12/1/2020
2020.11.28.2 745 11/28/2020
2020.11.28.1 662 11/28/2020
2020.11.27.2 662 11/27/2020
2020.11.27.1 669 11/27/2020
2020.11.25.1 678 11/25/2020
2020.11.22.3 695 11/23/2020
2020.11.20.1 725 11/21/2020
2020.11.19.3 685 11/19/2020
2020.11.19.1 650 11/19/2020
2020.11.18.2 658 11/18/2020
2020.11.17.2 681 11/17/2020
2020.11.17.1 635 11/17/2020
2020.11.15.1 648 11/15/2020
2020.11.14.1 751 11/14/2020
2020.11.13.2 704 11/13/2020
2020.11.13.1 606 11/13/2020
2020.11.12.1 726 11/12/2020
2020.11.11.1 637 11/11/2020
2020.11.8.1 816 11/8/2020
2020.11.7.1 794 11/7/2020
2020.11.5.1 650 11/5/2020
2020.11.3.1 756 11/3/2020
2020.11.1.3 812 11/1/2020
2020.11.1.2 780 11/1/2020
2020.11.1.1 682 11/1/2020
2020.10.30.1 682 11/1/2020
2020.10.15.3 662 10/15/2020
2020.10.15.2 607 10/15/2020
2020.10.14.1 597 10/14/2020
2020.10.13.1 702 10/13/2020
2020.10.12.2 698 10/12/2020
2020.10.12.1 684 10/12/2020
2020.10.10.1 897 10/10/2020
2020.10.9.6 712 10/9/2020
2020.10.9.2 759 10/9/2020
2020.10.9.1 711 10/9/2020
2020.10.8.1 710 10/8/2020
2020.10.6.8 697 10/7/2020
2020.10.6.6 734 10/7/2020
2020.10.6.5 693 10/7/2020
2020.10.6.4 663 10/7/2020
2020.10.6.3 667 10/7/2020
2020.10.6.2 740 10/7/2020
2020.10.6.1 721 10/7/2020
2020.10.5.1 680 10/6/2020
2020.10.1.3 715 10/1/2020
2020.10.1.2 657 10/1/2020
2020.10.1.1 721 10/1/2020
2020.9.29.10 671 9/29/2020
2020.9.29.9 715 9/29/2020
2020.9.28.2 664 9/28/2020
2020.9.28.1 733 9/28/2020
2020.9.25.1 865 9/26/2020
2020.9.24.2 727 9/24/2020
2020.9.24 741 9/24/2020
2020.9.23.2 671 9/23/2020
2020.9.23.1 668 9/23/2020
2020.9.22.1 704 9/22/2020
2020.9.21.1 781 9/21/2020
2020.9.17.2 717 9/17/2020
2020.9.16 730 9/16/2020
2020.9.15 723 9/15/2020
2020.9.14 723 9/14/2020
2020.9.9.2 706 9/9/2020
2020.9.8.1 632 9/8/2020
2020.9.8 660 9/8/2020
2020.9.6.5 736 9/6/2020
2020.9.4.2 648 9/4/2020
2020.9.4 681 9/4/2020
2020.9.3.1 703 9/3/2020

Geography aware extension for HTML elements as well as FireWall enabled GEO blocking on the bases on MaxMind data
     2020.09.09 update NuGet package references
     2020.09.08 update NuGet package references
     2020.09.04 update documentation and references
     2020.07.11
     1. Update documentation and references
     2. Add support for Ticket service for incident reporting when the Walter.TicketService.ExceptionReporting is set to true (default false)