相关疑难解决方法(0)

如何在ASP.NET中获取用户的客户端IP地址?

我们必须Request.UserHostAddress在ASP.NET中获取IP地址,但这通常是用户的ISP的IP地址,而不是用户的机器IP地址,例如单击链接.我怎样才能获得真实的IP地址?

例如,在Stack Overflow用户配置文件中,它是:"上次帐户活动:4小时前从86.123.127.8",但我的机器IP地址有点不同.Stack Overflow如何获得此地址?

在某些Web系统中,存在用于某些目的的IP地址检查.例如,使用某个IP地址,用户每24小时只能点击5次下载链接?此IP地址应该是唯一的,不适用于拥有大量客户端或Internet用户的ISP.

我理解得好吗?

c# asp.net client ip-address

373
推荐指数
14
解决办法
56万
查看次数

获取客户端IP地址:REMOTE_ADDR,HTTP_X_FORWARDED_FOR,还有什么可能有用?

我理解这是看待这两个变量的标准做法.当然,他们很容易被欺骗.我很好奇你多久会期望这些价值观(特别是那些HTTP_X_FORWARDED_FOR)包含真实的信息,而不仅仅是被扰乱或者剥夺了他们的价值观?

有这方面经验或统计数据的人吗?

获取客户端IP地址的任务还有什么用处吗?

asp.net ip http ip-address http-headers

58
推荐指数
4
解决办法
16万
查看次数

如何在.NET 6库中引用ASP.NET Core 6类型?

我正在为我的组织开发内部图书馆。我需要引用通常“属于”网络应用程序的某些类型,例如。提供一些扩展:

  • WebApplicationOptions
  • HttpContext

如果我使用<Project Sdk="Microsoft.NET.Sdk">,我没有对这些类型的引用,也找不到包含它们的任何 nuget 包。如果我使用<Project Sdk="Microsoft.NET.Sdk.Web">,我无法构建我的类库,因为它被视为应用程序并且必须指定入口点。

所以,我的一般问题是:为 ASP.NET Core 6 编写库的正确方法是什么?

回到 core 2.x 时代,所有东西都有软件包,比如Microsoft.AspNetCore.Http.Abstractions. 它们都停留在版本上2.2.0,我认为它们现在无法使用?

c# package libraries .net-core asp.net-core

36
推荐指数
1
解决办法
2万
查看次数

IIS Request.UserHostAddress返回IPV6(:: 1),即使禁用IPV6也是如此

在我的网卡的属性部分,在Windows Server 2008上,我禁用了IPV6,只启用了IPV4.

但是在ASP.NET中,Request.UserHostAddress返回':: 1',即IPV6地址.

有谁知道如何恢复到IPV4?

c# asp.net ipv4 ipv6

30
推荐指数
2
解决办法
3万
查看次数

Asp.net Core中的UserHostAddress

什么是旧的Asp.Net 5中的等价物HttpContext.Request.UserHostAddress

我试过this.ActionContext.HttpContext但找不到UserHostAddress和ServerVariables属性.

谢谢

asp.net-core

29
推荐指数
3
解决办法
1万
查看次数

如何在ASP.NET Core 2.1中获取客户端IP地址

我正在使用Microsoft Visual Studio 2017提供的Angular模板开发ASP.Net Core 2.1.我的客户端应用程序工作正常.在用户认证竞争之后,我想启动用户会话管理,其中我存储客户端用户IP地址.我已经在互联网上搜索过这个,但到目前为止还没有找到任何解决方案.

以下是我访问过的一些参考链接:

如何在ASP.NET CORE中获取客户端IP地址?

在ASP.NET Core 2.0中获取客户端IP地址

在ASP.Net Core中获取用户远程IP地址

在我的ValuesController.cs中,我也试过下面的代码:

private IHttpContextAccessor _accessor;

public ValuesController(IHttpContextAccessor accessor)
{
    _accessor = accessor;
}

public IEnumerable<string> Get()
{
    var ip = Request.HttpContext.Connection.RemoteIpAddress.ToString();
    return new string[] { ip, "value2" };
}
Run Code Online (Sandbox Code Playgroud)

其中ip变量我得到空值并得到此错误

Request.HttpContext.Connection.RemoteIpAddress.Address引发了Type'System.Net.Sockets.SocketException'的异常

在此输入图像描述

在此输入图像描述

你能告诉我如何在ASP.NET Core 2.1中获取客户端IP地址吗?

c# asp.net-core

22
推荐指数
4
解决办法
3万
查看次数

读取X-Forwarded-For标题

我想读取X-Forwarded-For请求中标头值的值.

我试过了

HttpContext.Current.Request.Headers["X-Forwarded-For"].Split(new char[] { ',' }).FirstOrDefault();  
Run Code Online (Sandbox Code Playgroud)

在C#中.

或者我需要拆分标头":"并取第二个字符串吗?维基百科说,我这是在问这个问题

该字段的一般格式为:X-Forwarded-For:client1,proxy1,proxy2

c# asp.net

19
推荐指数
3
解决办法
3万
查看次数

如何在服务器端 Blazor 中使用 HttpContext 对象来检索有关用户、用户代理的信息

IP 地址等。通常,当用户询问如何在 Server Blazor 应用程序中执行此操作时,他们要么被告知这是不可能的,要么有时会提供使用 JSInterop 的部分解决方案。但是可以在不诉诸 JSInterop 的情况下完成吗?这是答案...

blazor blazor-server-side

14
推荐指数
1
解决办法
9328
查看次数

Asp.Net Core中的IP安全性

我试图通过IP地址限制网站.在以前的MVC版本中,我会在web.config中添加如下内容:

<security>
  <ipSecurity allowUnlisted="false" denyAction="NotFound">
    <add allowed="true" ipAddress="XX.XX.XX.XX" subnetMask="255.255.255.0"/>
  </ipSecurity>
</security>
Run Code Online (Sandbox Code Playgroud)

但是将此添加到AspNetCore项目会导致应用程序在启动时因错误而失败

无法启动进程Web服务器请求失败,状态码为500,内部服务器错误

显然我打破了配置,因为它不再在这里处理了.该错误产生一个HttpFailure日志,如下所示:

在此输入图像描述

什么是现在处理这个问题的最好方法,内置或其他方式

c# asp.net-core-mvc asp.net-core

12
推荐指数
2
解决办法
5316
查看次数

如何在 Blazor 中获取客户端 IP 和浏览器信息?

如何在 Blazor 服务器端获取客户端信息,例如 IP 地址和浏览器名称/版本?

blazor blazor-server-side

10
推荐指数
5
解决办法
8049
查看次数