Walter.Web.FireWall.Geo.Native 2020.10.13.1

There is a newer version of this package available.
See the version list below for details.
Install-Package Walter.Web.FireWall.Geo.Native -Version 2020.10.13.1
dotnet add package Walter.Web.FireWall.Geo.Native --version 2020.10.13.1
<PackageReference Include="Walter.Web.FireWall.Geo.Native" Version="2020.10.13.1" />
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.10.13.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Walter.Web.FireWall.Geo.Native, 2020.10.13.1"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. 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.10.13.1

// Install Walter.Web.FireWall.Geo.Native as a Cake Tool
#tool nuget:?package=Walter.Web.FireWall.Geo.Native&version=2020.10.13.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

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

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
2021.9.26.1913 0 9/26/2021
2021.9.17.1702 66 9/17/2021
2021.9.17.1449 55 9/17/2021
2021.9.12.1100 61 9/13/2021
2021.9.11.2004 64 9/11/2021
2021.9.9.1110 71 9/9/2021
2021.9.7.1901 95 9/8/2021
2021.9.7.1121 68 9/7/2021
2021.9.6.1518 74 9/7/2021
2021.9.4.1124 75 9/4/2021
2021.9.2.708 74 9/4/2021
2021.9.0.1259 58 9/2/2021
2021.8.2100 74 8/23/2021
2021.8.22.900 73 8/22/2021
2021.8.18.1500 89 8/18/2021
2021.8.18.930 106 8/18/2021
2021.8.14.1600 87 8/16/2021
2021.8.14.829 75 8/14/2021
2021.8.9.1105 56 8/9/2021
2021.8.8.1612 72 8/8/2021
2021.8.8.1138 75 8/8/2021
2021.8.6.1044 126 8/6/2021
2021.8.4.1355 99 8/5/2021
2021.7.30.2118 123 7/31/2021
2021.7.27.926 72 7/28/2021
2021.7.23.931 65 7/26/2021
2021.7.22.1456 77 7/23/2021
2021.7.15.1547 94 7/15/2021
2021.7.13.812 98 7/13/2021
2021.7.8.1527 193 7/10/2021
2021.6.29.1453 119 6/30/2021
2021.6.26.1753 134 6/27/2021
2021.6.25.1849 120 6/25/2021
2021.6.24.1518 108 6/24/2021
2021.6.20.729 164 6/20/2021
2021.6.15.2006 105 6/15/2021
2021.6.14.2025 99 6/15/2021
2021.6.13.2035 100 6/14/2021
2021.6.12.1154 73 6/13/2021
2021.6.9.1120 81 6/9/2021
2021.6.3.1509 129 6/3/2021
2021.5.31.1533 96 5/31/2021
2021.5.31.1415 121 5/31/2021
2021.5.25.1732 135 5/25/2021
2021.5.24.1128 136 5/24/2021
2021.5.24.1019 104 5/24/2021
2021.5.12.1054 74 5/12/2021
2021.5.12.637 71 5/12/2021
2021.5.10.1442 97 5/11/2021
2021.5.8.1226 77 5/8/2021
2021.5.6.2037 98 5/6/2021
2021.5.5.1901 95 5/6/2021
2021.5.3.1621 73 5/4/2021
2021.5.1.905 110 5/1/2021
2021.4.28.1511 88 4/28/2021
2021.4.20.1520 80 4/21/2021
2021.4.16.738 84 4/21/2021
2021.4.14.1216 97 4/16/2021
2021.4.9.1538 88 4/13/2021
2021.4.8.947 89 4/13/2021
2021.4.6.1235 73 4/6/2021
2021.4.5.1653 92 4/5/2021
2021.4.1.913 94 4/1/2021
2021.3.31.2003 129 4/1/2021
2021.3.18.1622 82 3/18/2021
2021.3.3.1259 134 3/3/2021
2021.3.2.1415 88 3/2/2021
2021.3.1.11 114 2/28/2021
2021.3.1.1 107 2/27/2021
2021.3.1 116 2/27/2021
2021.2.21.1 92 2/21/2021
2021.2.20.1 105 2/20/2021
2021.2.19.2 107 2/19/2021
2021.2.18.6 116 2/19/2021
2021.2.17.1 120 2/17/2021
2021.2.16.1 111 2/16/2021
2021.2.15.3 110 2/15/2021
2021.2.15.1 106 2/14/2021
2021.2.14.3 107 2/14/2021
2021.2.12.6 106 2/12/2021
2021.2.12.2 105 2/12/2021
2021.2.11.1 112 2/11/2021
2021.2.10.1 106 2/10/2021
2021.2.8.1 112 2/9/2021
2021.2.7.2 127 2/7/2021
2021.2.7.1 111 2/6/2021
2020.12.27.6 169 12/27/2020
2020.12.27.1 172 12/27/2020
2020.12.26.7 169 12/27/2020
2020.12.26.5 164 12/27/2020
2020.12.26.3 158 12/27/2020
2020.12.19.1 254 12/19/2020
2020.12.16.1 156 12/16/2020
2020.12.15.1 153 12/15/2020
2020.12.14.5 161 12/14/2020
2020.12.14.4 161 12/14/2020
2020.12.14.3 178 12/14/2020
2020.12.5.1 233 12/5/2020
2020.12.4.4 193 12/4/2020
2020.12.4.3 153 12/4/2020
2020.12.4.1 183 12/4/2020
2020.12.3.1 163 12/3/2020
2020.12.2.4 157 12/2/2020
2020.12.1.1 187 12/1/2020
2020.11.28.1 187 11/28/2020
2020.11.27.2 164 11/27/2020
2020.11.27.1 177 11/27/2020
2020.11.25.1 156 11/25/2020
2020.11.22.3 175 11/23/2020
2020.11.20.1 227 11/21/2020
2020.11.19.3 159 11/19/2020
2020.11.19.1 152 11/19/2020
2020.11.18.2 188 11/18/2020
2020.11.17.2 196 11/17/2020
2020.11.17.1 168 11/17/2020
2020.11.15.1 205 11/15/2020
2020.11.14.1 227 11/14/2020
2020.11.13.2 178 11/13/2020
2020.11.13.1 171 11/13/2020
2020.11.12.1 161 11/12/2020
2020.11.11.1 181 11/11/2020
2020.11.8.1 254 11/8/2020
2020.11.7.1 199 11/7/2020
2020.11.5.1 167 11/5/2020
2020.11.3.1 213 11/3/2020
2020.11.1.3 230 11/1/2020
2020.11.1.2 206 11/1/2020
2020.11.1.1 182 11/1/2020
2020.10.30.1 216 11/1/2020
2020.10.15.3 180 10/15/2020
2020.10.15.2 173 10/15/2020
2020.10.14.1 160 10/14/2020
2020.10.13.1 193 10/13/2020
2020.10.12.2 239 10/12/2020
2020.10.12.1 187 10/12/2020
2020.10.10.1 327 10/10/2020
2020.10.9.6 182 10/9/2020
2020.10.9.2 190 10/9/2020
2020.10.9.1 179 10/9/2020
2020.10.8.1 173 10/8/2020
2020.10.6.8 206 10/7/2020
2020.10.6.6 186 10/7/2020
2020.10.6.5 211 10/7/2020
2020.10.6.4 171 10/7/2020
2020.10.6.3 233 10/7/2020
2020.10.6.2 194 10/7/2020
2020.10.6.1 210 10/7/2020
2020.10.5.1 206 10/6/2020
2020.10.1.3 190 10/1/2020
2020.10.1.2 180 10/1/2020
2020.10.1.1 212 10/1/2020
2020.9.29.10 216 9/29/2020
2020.9.29.9 254 9/29/2020
2020.9.28.2 183 9/28/2020
2020.9.28.1 182 9/28/2020
2020.9.25.1 322 9/26/2020
2020.9.24.2 205 9/24/2020
2020.9.24 199 9/24/2020
2020.9.23.2 199 9/23/2020
2020.9.23.1 209 9/23/2020
2020.9.22.1 206 9/22/2020
2020.9.21.1 218 9/21/2020
2020.9.17.2 186 9/17/2020
2020.9.16 216 9/16/2020
2020.9.15 211 9/15/2020
2020.9.14 213 9/14/2020
2020.9.9.2 197 9/9/2020
2020.9.8.1 174 9/8/2020
2020.9.8 193 9/8/2020
2020.9.6.5 283 9/6/2020
2020.9.4.2 189 9/4/2020
2020.9.4 198 9/4/2020
2020.9.3.1 210 9/3/2020

This free API library may not give accurate results as it uses unchecked public domain data
     2020.10.05
     - Update terms
     - update NuGet package references
     
     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