gpt4 book ai didi

c# - 检测连接在 cloudflare 后面的用户 IP 地址

转载 作者:太空宇宙 更新时间:2023-11-03 22:42:06 25 4
gpt4 key购买 nike

我有一段代码如下:

public static class RequestExtensions
{
public static string GetIpAddress(this HttpRequestBase request)
{
if (request.Headers["CF-CONNECTING-IP"] != null)
return request.Headers["CF-CONNECTING-IP"];

var ipAddress = request.ServerVariables["HTTP_X_FORWARDED_FOR"];

if (!string.IsNullOrEmpty(ipAddress))
{
var addresses = ipAddress.Split(',');
if (addresses.Length != 0)
return addresses[0];
}

return request.UserHostAddress;
}
}

这应该可以帮助我找出通过 cloudflare 连接到我的网站的用户的真实 IP 地址...

问题是我现在不知道如何通过我的 Controller 调用这个扩展方法:

public actionresult Index()
{
// How do I now call the GetIpAddress extension method ??
}

谁能帮帮我?

最佳答案

请求对象存在于操作范围内

public ActionResult Index()
{
// Here is how you now call the GetIpAddress extension method
var ipString = this.Request.GetIpAddress();
}

不要忘记导入你的扩展方法

using RequestExtensionsNamespance

关于c# - 检测连接在 cloudflare 后面的用户 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51696143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com