Walter.Web.FireWall.Geo.Native 2020.9.23.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.9.23.1
dotnet add package Walter.Web.FireWall.Geo.Native --version 2020.9.23.1
<PackageReference Include="Walter.Web.FireWall.Geo.Native" Version="2020.9.23.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.9.23.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.9.23.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.9.23.1

// Install Walter.Web.FireWall.Geo.Native as a Cake Tool
#tool nuget:?package=Walter.Web.FireWall.Geo.Native&version=2020.9.23.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

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.17.1702 54 9/17/2021
2021.9.17.1449 47 9/17/2021
2021.9.12.1100 57 9/13/2021
2021.9.11.2004 60 9/11/2021
2021.9.9.1110 63 9/9/2021
2021.9.7.1901 87 9/8/2021
2021.9.7.1121 60 9/7/2021
2021.9.6.1518 66 9/7/2021
2021.9.4.1124 71 9/4/2021
2021.9.2.708 70 9/4/2021
2021.9.0.1259 54 9/2/2021
2021.8.2100 70 8/23/2021
2021.8.22.900 69 8/22/2021
2021.8.18.1500 85 8/18/2021
2021.8.18.930 98 8/18/2021
2021.8.14.1600 79 8/16/2021
2021.8.14.829 67 8/14/2021
2021.8.9.1105 48 8/9/2021
2021.8.8.1612 68 8/8/2021
2021.8.8.1138 71 8/8/2021
2021.8.6.1044 122 8/6/2021
2021.8.4.1355 95 8/5/2021
2021.7.30.2118 119 7/31/2021
2021.7.27.926 68 7/28/2021
2021.7.23.931 61 7/26/2021
2021.7.22.1456 73 7/23/2021
2021.7.15.1547 90 7/15/2021
2021.7.13.812 90 7/13/2021
2021.7.8.1527 185 7/10/2021
2021.6.29.1453 115 6/30/2021
2021.6.26.1753 130 6/27/2021
2021.6.25.1849 116 6/25/2021
2021.6.24.1518 104 6/24/2021
2021.6.20.729 160 6/20/2021
2021.6.15.2006 101 6/15/2021
2021.6.14.2025 95 6/15/2021
2021.6.13.2035 96 6/14/2021
2021.6.12.1154 69 6/13/2021
2021.6.9.1120 77 6/9/2021
2021.6.3.1509 125 6/3/2021
2021.5.31.1533 92 5/31/2021
2021.5.31.1415 117 5/31/2021
2021.5.25.1732 131 5/25/2021
2021.5.24.1128 132 5/24/2021
2021.5.24.1019 100 5/24/2021
2021.5.12.1054 70 5/12/2021
2021.5.12.637 67 5/12/2021
2021.5.10.1442 93 5/11/2021
2021.5.8.1226 73 5/8/2021
2021.5.6.2037 94 5/6/2021
2021.5.5.1901 91 5/6/2021
2021.5.3.1621 69 5/4/2021
2021.5.1.905 106 5/1/2021
2021.4.28.1511 84 4/28/2021
2021.4.20.1520 76 4/21/2021
2021.4.16.738 80 4/21/2021
2021.4.14.1216 93 4/16/2021
2021.4.9.1538 84 4/13/2021
2021.4.8.947 85 4/13/2021
2021.4.6.1235 69 4/6/2021
2021.4.5.1653 84 4/5/2021
2021.4.1.913 86 4/1/2021
2021.3.31.2003 125 4/1/2021
2021.3.18.1622 78 3/18/2021
2021.3.3.1259 130 3/3/2021
2021.3.2.1415 84 3/2/2021
2021.3.1.11 106 2/28/2021
2021.3.1.1 99 2/27/2021
2021.3.1 108 2/27/2021
2021.2.21.1 84 2/21/2021
2021.2.20.1 101 2/20/2021
2021.2.19.2 103 2/19/2021
2021.2.18.6 112 2/19/2021
2021.2.17.1 116 2/17/2021
2021.2.16.1 107 2/16/2021
2021.2.15.3 106 2/15/2021
2021.2.15.1 102 2/14/2021
2021.2.14.3 103 2/14/2021
2021.2.12.6 102 2/12/2021
2021.2.12.2 101 2/12/2021
2021.2.11.1 108 2/11/2021
2021.2.10.1 102 2/10/2021
2021.2.8.1 108 2/9/2021
2021.2.7.2 123 2/7/2021
2021.2.7.1 107 2/6/2021
2020.12.27.6 161 12/27/2020
2020.12.27.1 164 12/27/2020
2020.12.26.7 165 12/27/2020
2020.12.26.5 160 12/27/2020
2020.12.26.3 154 12/27/2020
2020.12.19.1 250 12/19/2020
2020.12.16.1 152 12/16/2020
2020.12.15.1 149 12/15/2020
2020.12.14.5 157 12/14/2020
2020.12.14.4 157 12/14/2020
2020.12.14.3 174 12/14/2020
2020.12.5.1 229 12/5/2020
2020.12.4.4 189 12/4/2020
2020.12.4.3 149 12/4/2020
2020.12.4.1 179 12/4/2020
2020.12.3.1 159 12/3/2020
2020.12.2.4 153 12/2/2020
2020.12.1.1 183 12/1/2020
2020.11.28.1 183 11/28/2020
2020.11.27.2 160 11/27/2020
2020.11.27.1 173 11/27/2020
2020.11.25.1 152 11/25/2020
2020.11.22.3 171 11/23/2020
2020.11.20.1 223 11/21/2020
2020.11.19.3 155 11/19/2020
2020.11.19.1 148 11/19/2020
2020.11.18.2 184 11/18/2020
2020.11.17.2 192 11/17/2020
2020.11.17.1 160 11/17/2020
2020.11.15.1 201 11/15/2020
2020.11.14.1 219 11/14/2020
2020.11.13.2 170 11/13/2020
2020.11.13.1 163 11/13/2020
2020.11.12.1 153 11/12/2020
2020.11.11.1 173 11/11/2020
2020.11.8.1 246 11/8/2020
2020.11.7.1 191 11/7/2020
2020.11.5.1 159 11/5/2020
2020.11.3.1 205 11/3/2020
2020.11.1.3 226 11/1/2020
2020.11.1.2 202 11/1/2020
2020.11.1.1 178 11/1/2020
2020.10.30.1 208 11/1/2020
2020.10.15.3 172 10/15/2020
2020.10.15.2 165 10/15/2020
2020.10.14.1 156 10/14/2020
2020.10.13.1 189 10/13/2020
2020.10.12.2 235 10/12/2020
2020.10.12.1 183 10/12/2020
2020.10.10.1 323 10/10/2020
2020.10.9.6 178 10/9/2020
2020.10.9.2 186 10/9/2020
2020.10.9.1 175 10/9/2020
2020.10.8.1 165 10/8/2020
2020.10.6.8 198 10/7/2020
2020.10.6.6 178 10/7/2020
2020.10.6.5 207 10/7/2020
2020.10.6.4 167 10/7/2020
2020.10.6.3 225 10/7/2020
2020.10.6.2 186 10/7/2020
2020.10.6.1 202 10/7/2020
2020.10.5.1 198 10/6/2020
2020.10.1.3 186 10/1/2020
2020.10.1.2 176 10/1/2020
2020.10.1.1 208 10/1/2020
2020.9.29.10 208 9/29/2020
2020.9.29.9 246 9/29/2020
2020.9.28.2 175 9/28/2020
2020.9.28.1 174 9/28/2020
2020.9.25.1 314 9/26/2020
2020.9.24.2 197 9/24/2020
2020.9.24 191 9/24/2020
2020.9.23.2 191 9/23/2020
2020.9.23.1 205 9/23/2020
2020.9.22.1 202 9/22/2020
2020.9.21.1 214 9/21/2020
2020.9.17.2 182 9/17/2020
2020.9.16 212 9/16/2020
2020.9.15 203 9/15/2020
2020.9.14 205 9/14/2020
2020.9.9.2 189 9/9/2020
2020.9.8.1 170 9/8/2020
2020.9.8 189 9/8/2020
2020.9.6.5 275 9/6/2020
2020.9.4.2 181 9/4/2020
2020.9.4 194 9/4/2020
2020.9.3.1 206 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