URIValidator.InAzureStorageDomain Method
Use Case
The code is making requests to a URL constructed using untrusted inputs, where an input is considered untrusted if it comes from user input or other services.
AND
The URL is expected to belong to an Azure Storage Domain.
- If you instead expect the domain to be in any domain or an untrusted domain, see AntiSSRFPolicy.
- If you instead expect the URL to be an Azure Key Vault endpoint, see InAzureKeyVaultDomain.
- If you instead expect the domain to be another specific, trusted domain, see InDomain.
Definition
Validates if a URL is an Azure Storage endpoint.
Overloads
| Method | Description |
|---|---|
| InAzureStorageDomain(Uri) | Validates if a URL is an Azure Storage endpoint. |
| InAzureStorageDomain(string) | Validates if a URL is an Azure Storage endpoint. |
InAzureStorageDomain(Uri)
public static bool InAzureStorageDomain(Uri uri)
Parameters
uri: Uri
The URI to be evaluated.
Returns
bool
trueifuribelongs to any of the listed Azure Storage domains.falseifuridoes not belong to any of the listed Azure Storage domains, the URI is not valid, or the protocol is not HTTP/S.
InAzureStorageDomain(string)
public static bool InAzureStorageDomain(string address)
Parameters
address: string
The URI string to be evaluated.
Returns
bool
trueifaddressbelongs to any of the listed Azure Storage domains.falseifaddressdoes not belong to any of the listed Azure Storage domains, the string is not a valid URI, or the protocol is not HTTP/S.
Examples
using Microsoft.Security.AntiSSRF;
using System;
URIValidator.InAzureStorageDomain("https://mystorageaccount.blob.core.windows.net/container/file.txt");
// → true
URIValidator.InAzureStorageDomain("https://evil.com/data");
// → false
var uri = new Uri("https://mystorageaccount.blob.core.windows.net/container/file.txt");
URIValidator.InAzureStorageDomain(uri);
// → true
Azure Storage Domain Names
InAzureStorageDomain will evaluate whether the given parameter belongs to any combination of the following domains and services:
Domains:
core.windows.netstorage.azure.netcore.usgovcloudapi.netcore.chinacloudapi.cn
Services:
blobwebdfsfilequeuetable