Soenneker.Validators.IpAddresses.Ssrf
4.0.2
Prefix Reserved
dotnet add package Soenneker.Validators.IpAddresses.Ssrf --version 4.0.2
NuGet\Install-Package Soenneker.Validators.IpAddresses.Ssrf -Version 4.0.2
<PackageReference Include="Soenneker.Validators.IpAddresses.Ssrf" Version="4.0.2" />
<PackageVersion Include="Soenneker.Validators.IpAddresses.Ssrf" Version="4.0.2" />
<PackageReference Include="Soenneker.Validators.IpAddresses.Ssrf" />
paket add Soenneker.Validators.IpAddresses.Ssrf --version 4.0.2
#r "nuget: Soenneker.Validators.IpAddresses.Ssrf, 4.0.2"
#:package Soenneker.Validators.IpAddresses.Ssrf@4.0.2
#addin nuget:?package=Soenneker.Validators.IpAddresses.Ssrf&version=4.0.2
#tool nuget:?package=Soenneker.Validators.IpAddresses.Ssrf&version=4.0.2
Soenneker.Validators.IpAddresses.Ssrf
IP address validation for SSRF protection
Determines whether an IPv4 or IPv6 address is publicly routable. Private, loopback, link-local, carrier-grade NAT, documentation, benchmarking, multicast, reserved, IPv4-mapped IPv6, and other special-use destinations are handled conservatively.
Installation
dotnet add package Soenneker.Validators.IpAddresses.Ssrf
Usage
services.AddSsrfIpAddressValidatorAsSingleton();
ISsrfIpAddressValidator validator =
serviceProvider.GetRequiredService<ISsrfIpAddressValidator>();
bool isPublic = validator.Validate("8.8.8.8"); // true
bool isPrivate = validator.Validate("192.168.1.10"); // false
bool isLoopback = validator.Validate(IPAddress.Loopback); // false
Validate(string) accepts unambiguous IP address literals only and performs no
managed allocations. It does not resolve hostnames. Legacy abbreviated, octal, and
hexadecimal IPv4 forms are rejected.
For SSRF-safe HTTP requests, resolve every hostname and validate every returned
address at connection time. Revalidate redirects as well, so DNS rebinding cannot
bypass an earlier check.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.10)
- Soenneker.Validators.Validator (>= 4.0.732)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Soenneker.Validators.IpAddresses.Ssrf:
| Package | Downloads |
|---|---|
|
Soenneker.Utils.HttpClientCache.Ssrf
SSRF-safe, DNS-rebinding-resistant HttpClient caching. |
GitHub repositories
This package is not used by any popular GitHub repositories.