Walter.Web.FireWall.CookieStore 2020.10.1.1

Cookie store for use with the firewall allowing to not store any GDPR data in cookies but keep all references local.
     You can read and write these cookies using the User in the page request object that is injected in all your controllers.
     You can see how to use it using this online documentation here:
     https://firewallapi.asp-waf.com/?topic=html/Overload-Walter.Web.FireWall.IUserIdentity.WriteCookie.htm
     
     Read about reading such a cookie is documented here:
     https://firewallapi.asp-waf.com/?topic=html/M-Walter.Web.FireWall.IUserIdentity.TryReadCookie.htm

There is a newer version of this package available.
See the version list below for details.
Install-Package Walter.Web.FireWall.CookieStore -Version 2020.10.1.1
dotnet add package Walter.Web.FireWall.CookieStore --version 2020.10.1.1
<PackageReference Include="Walter.Web.FireWall.CookieStore" Version="2020.10.1.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Walter.Web.FireWall.CookieStore --version 2020.10.1.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Walter.Web.FireWall.CookieStore, 2020.10.1.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.CookieStore as a Cake Addin
#addin nuget:?package=Walter.Web.FireWall.CookieStore&version=2020.10.1.1

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

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);

});
//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

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.

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);

});
//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

Release Notes

22 September 2020
     1. Release of database based cookie storage
     Documentation at:https://firewallapi.asp-waf.com/?topic=html/T-Microsoft.Extensions.DependencyInjection.CookieStoreBuilderExtensions.htm

     19 September 2020
     - Initial release with support for disk based cookie storage

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
2021.6.15.2006 23 6/15/2021
2021.6.14.2025 26 6/15/2021
2021.6.13.2035 18 6/14/2021
2021.6.12.1154 71 6/13/2021
2021.6.9.1120 76 6/9/2021
2021.6.3.1509 118 6/3/2021
2021.5.31.1533 87 5/31/2021
2021.5.31.1415 104 5/31/2021
2021.5.25.1732 105 5/25/2021
2021.5.24.1128 129 5/24/2021
2021.5.24.1019 93 5/24/2021
2021.5.12.1054 38 5/12/2021
2021.5.12.637 37 5/12/2021
2021.5.8.1226 48 5/8/2021
2021.5.5.1901 57 5/6/2021
2021.5.3.1621 35 5/4/2021
2021.5.1.905 66 5/1/2021
2021.4.28.1511 52 4/28/2021
2021.4.20.1520 49 4/21/2021
2021.4.16.738 44 4/21/2021
2021.4.14.1216 73 4/16/2021
2021.4.9.1538 55 4/13/2021
2021.4.8.947 66 4/13/2021
2021.4.6.1235 60 4/6/2021
2021.4.5.1653 76 4/5/2021
2021.4.1.913 66 4/1/2021
2021.3.31.2003 109 4/1/2021
2021.3.18.1622 71 3/18/2021
2021.3.3.1259 93 3/3/2021
2021.3.2.1415 54 3/2/2021
2021.3.1.11 70 2/28/2021
2021.3.1.1 79 2/27/2021
2021.3.1 91 2/27/2021
2021.2.23.6 68 2/23/2021
2021.2.21.1 56 2/21/2021
2021.2.20.1 69 2/20/2021
2021.2.19.2 61 2/19/2021
2021.2.18.6 58 2/19/2021
2021.2.17.1 64 2/17/2021
2021.2.16.1 69 2/16/2021
2021.2.15.3 68 2/15/2021
2021.2.15.1 62 2/14/2021
2021.2.14.3 65 2/14/2021
2021.2.12.6 56 2/12/2021
2021.2.12.2 52 2/12/2021
2021.2.11.1 56 2/11/2021
2021.2.10.1 53 2/10/2021
2021.2.8.1 65 2/9/2021
2021.2.7.2 78 2/7/2021
2021.2.7.1 55 2/6/2021
2020.12.27.6 124 12/27/2020
2020.12.27.1 111 12/27/2020
2020.12.26.7 111 12/27/2020
2020.12.26.5 111 12/27/2020
2020.12.26.3 110 12/27/2020
2020.12.19.1 201 12/19/2020
2020.12.16.1 113 12/16/2020
2020.12.15.1 100 12/15/2020
2020.12.14.5 112 12/14/2020
2020.12.14.4 110 12/14/2020
2020.12.14.3 131 12/14/2020
2020.12.5.1 186 12/5/2020
2020.12.4.4 140 12/4/2020
2020.12.4.3 110 12/4/2020
2020.12.4.1 129 12/4/2020
2020.12.3.1 118 12/3/2020
2020.12.2.4 116 12/2/2020
2020.12.2.3 149 12/2/2020
2020.12.1.1 130 12/1/2020
2020.11.28.1 133 11/28/2020
2020.11.27.2 111 11/27/2020
2020.11.27.1 145 11/27/2020
2020.11.25.1 98 11/25/2020
2020.11.22.3 140 11/23/2020
2020.11.20.1 182 11/21/2020
2020.11.19.3 110 11/19/2020
2020.11.19.1 103 11/19/2020
2020.11.18.2 132 11/18/2020
2020.11.17.2 153 11/17/2020
2020.11.17.1 109 11/17/2020
2020.11.15.1 144 11/15/2020
2020.11.14.1 170 11/14/2020
2020.11.13.2 128 11/13/2020
2020.11.13.1 104 11/13/2020
2020.11.12.1 107 11/12/2020
2020.11.11.1 124 11/11/2020
2020.11.8.1 204 11/8/2020
2020.11.7.1 137 11/7/2020
2020.11.5.1 113 11/5/2020
2020.11.3.1 146 11/3/2020
2020.11.1.3 180 11/1/2020
2020.11.1.2 163 11/1/2020
2020.11.1.1 128 11/1/2020
2020.10.30.1 149 11/1/2020
2020.10.15.3 118 10/15/2020
2020.10.15.2 124 10/15/2020
2020.10.14.1 128 10/14/2020
2020.10.13.1 146 10/13/2020
2020.10.12.2 187 10/12/2020
2020.10.12.1 131 10/12/2020
2020.10.10.1 276 10/10/2020
2020.10.9.6 126 10/9/2020
2020.10.9.2 135 10/9/2020
2020.10.9.1 147 10/9/2020
2020.10.8.1 116 10/8/2020
2020.10.6.8 143 10/7/2020
2020.10.6.6 114 10/7/2020
2020.10.6.5 146 10/7/2020
2020.10.6.4 123 10/7/2020
2020.10.6.3 172 10/7/2020
2020.10.6.2 132 10/7/2020
2020.10.6.1 143 10/7/2020
2020.10.5.1 133 10/6/2020
2020.10.1.3 126 10/1/2020
2020.10.1.2 136 10/1/2020
2020.10.1.1 117 10/1/2020
2020.9.29.10 166 9/29/2020
2020.9.29.9 192 9/29/2020
2020.9.28.2 119 9/28/2020
2020.9.28.1 148 9/28/2020
2020.9.25.1 261 9/26/2020
2020.9.24.2 144 9/24/2020
2020.9.24 124 9/24/2020
2020.9.23.2 147 9/23/2020
2020.9.23.1 155 9/23/2020
2020.9.22.1 147 9/22/2020
2020.9.21.1 169 9/21/2020
Show less