/

ASP.NET Core Installation

Install ByteHide Monitor in your ASP.NET Core application using dependency injection and middleware for real-time web protection.


Requirements

  • ASP.NET Core 3.1, 5.0, 6.0, 7.0, 8.0, or 9.0
  • NuGet: ByteHide.Monitor package

Step 1: Install the Package

Bash
dotnet add package ByteHide.Monitor

Step 2: Configure Services

In your Program.cs (or Startup.cs for older projects):

C#
builder.Services.AddByteHideMonitor(monitor =>
{
    // Enable web protection modules
    monitor.WithProtection(ProtectionModuleType.SqlInjection, ActionType.Block);
    monitor.WithProtection(ProtectionModuleType.CrossSiteScripting, ActionType.Block);
    monitor.WithProtection(ProtectionModuleType.PathTraversal, ActionType.Block);
    monitor.WithProtection(ProtectionModuleType.CommandInjection, ActionType.Block);
    monitor.WithProtection(ProtectionModuleType.ServerSideRequestForgery, ActionType.Block);
});

Step 3: Add Middleware

C#
app.UseByteHideMonitor();

Place it early in the middleware pipeline, before app.UseRouting() and app.UseAuthorization(), so Monitor can intercept requests before they reach your application logic.

Step 4: Run

Bash
dotnet run

Monitor is now intercepting and validating all incoming requests against the enabled protection modules.


Full Example (Program.cs)

C#
var builder = WebApplication.CreateBuilder(args);

builder.Services.AddByteHideMonitor(monitor =>
{
    monitor.WithProtection(ProtectionModuleType.SqlInjection, ActionType.Block);
    monitor.WithProtection(ProtectionModuleType.CrossSiteScripting, ActionType.Block);
    monitor.WithProtection(ProtectionModuleType.PathTraversal, ActionType.Block);
    monitor.WithProtection(ProtectionModuleType.ServerSideRequestForgery, ActionType.Block);
    monitor.WithProtection(ProtectionModuleType.NoSqlInjection, ActionType.Block);
    monitor.WithProtection(ProtectionModuleType.LdapInjection, ActionType.Block);
    monitor.WithProtection(ProtectionModuleType.XmlExternalEntity, ActionType.Block);
    monitor.WithProtection(ProtectionModuleType.CommandInjection, ActionType.Block);
    monitor.WithProtection(ProtectionModuleType.LlmPromptInjection, ActionType.Block);
});

var app = builder.Build();

app.UseByteHideMonitor();
app.UseRouting();
app.UseAuthorization();

app.MapControllers();
app.Run();

Combining with Desktop Protections

You can enable both web interceptors and desktop protection modules in the same ASP.NET Core application:

C#
builder.Services.AddByteHideMonitor(monitor =>
{
    // Web protections (middleware-based)
    monitor.WithProtection(ProtectionModuleType.SqlInjection, ActionType.Block);
    monitor.WithProtection(ProtectionModuleType.CrossSiteScripting, ActionType.Block);
});

// Additionally enable desktop protections (background checks)
await Bytehide.Monitor.Payload.ConfigureAsync(config =>
{
    config.AddProtection(ProtectionModuleType.DebuggerDetection, ActionType.Close, intervalMs: 60000);
    config.AddProtection(ProtectionModuleType.TamperingDetection, ActionType.Log, intervalMs: 120000);
});

Next Steps

Previous
Quick Start