public static IpAddressRequest GetCurrentIpAddress(bool?recordBadIp = null) { var request = RequestUtility.GetRequest(); return(new IpAddressRequest() { IpAddress = RequestUtility.GetClientIpAddress(request), CreatedUtcDateTime = DateTime.UtcNow, IsBadRequest = recordBadIp.GetValueOrDefault() }); }
public void MultipleValidPublicXForwardedFor_Returns_LastXForwardedFor() { // Arrange _httpRequest.UserHostAddress.Returns(GoogleIpAddress); _httpRequest.ServerVariables[XForwardedFor] = (GoogleIpAddress + "," + MicrosoftIpAddress); // Act var ip = RequestUtility.GetClientIpAddress(_httpRequest); // Assert Assert.Equal(ip, MicrosoftIpAddress); }
public void MalformedXForwardedFor_Returns_DefaultIpAddress() { // Arrange _httpRequest.UserHostAddress.Returns(GoogleIpAddress); _httpRequest.ServerVariables[XForwardedFor] = (MalformedIpAddress); // Act var ip = RequestUtility.GetClientIpAddress(_httpRequest); // Assert Assert.Equal(ip, DefaultIpAddress); }
public void PublicIpAndNullXForwardedFor_Returns_CorrectIp() { // Arrange _httpRequest.UserHostAddress.Returns(GoogleIpAddress); _httpRequest.ServerVariables[XForwardedFor] = string.Empty; // Act var ip = RequestUtility.GetClientIpAddress(_httpRequest); // Assert Assert.Equal(ip, GoogleIpAddress); }
public void SinglePrivateXForwardedFor_Returns_UserHostAddress() { // Arrange _httpRequest.UserHostAddress.Returns(GoogleIpAddress); _httpRequest.ServerVariables[XForwardedFor] = (Private24Bit); // Act var ip = RequestUtility.GetClientIpAddress(_httpRequest); // Assert Assert.Equal(ip, GoogleIpAddress); }
public IpAddressBlockerRuleVerificationAttribute() { string ip = RequestUtility.GetClientIpAddress(new HttpRequestWrapper(HttpContext.Current.Request)); var request = new IpAddressRequest { IpAddress = ip, CreatedUtcDateTime = DateTime.UtcNow, IsBadRequest = false }; RuleSetRunner.Instance.VerifyRule(request); }
public void MultiplePublicXForwardedForWithPrivateLast_Returns_LastPublic() { // Arrange _httpRequest.UserHostAddress.Returns(GoogleIpAddress); const string privateIpList = Private24Bit + "," + Private20Bit + "," + MicrosoftIpAddress + "," + PrivateLinkLocal; _httpRequest.ServerVariables[XForwardedFor] = (privateIpList); // Act var ip = RequestUtility.GetClientIpAddress(_httpRequest); // Assert Assert.Equal(ip, MicrosoftIpAddress); }