Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在ASP.net core v3.1中获取客户端计算机的Mac地址或IPv4地址以唯一标识计算机_C#_Asp.net Core_Asp.net Core Webapi_Asp.net Core 3.1 - Fatal编程技术网

C# 如何在ASP.net core v3.1中获取客户端计算机的Mac地址或IPv4地址以唯一标识计算机

C# 如何在ASP.net core v3.1中获取客户端计算机的Mac地址或IPv4地址以唯一标识计算机,c#,asp.net-core,asp.net-core-webapi,asp.net-core-3.1,C#,Asp.net Core,Asp.net Core Webapi,Asp.net Core 3.1,我想在客户端从不同的机器(就像Google)登录时执行一次性密码(OTP)设备验证 简单地说,每当用户在登录期间更改其设备时,它应该为每个设备请求一次OTP,因此下次使用该设备时,它不应该请求OTP,它应该直接请求验证设备的密码 是否可以在ASP.NET CORE v3.1中获取客户端计算机的IP地址或mac地址?我读过很多关于它的文章,他们建议将cookies与usersID和GUID结合使用。如果用户从不同的机器或设备登录,是否有其他方法可以跟踪?通常的处理方法是设置cookie。在提示用户

我想在客户端从不同的机器(就像Google)登录时执行一次性密码(OTP)设备验证

简单地说,每当用户在登录期间更改其设备时,它应该为每个设备请求一次OTP,因此下次使用该设备时,它不应该请求OTP,它应该直接请求验证设备的密码


是否可以在ASP.NET CORE v3.1中获取客户端计算机的IP地址或mac地址?我读过很多关于它的文章,他们建议将cookies与usersID和GUID结合使用。如果用户从不同的机器或设备登录,是否有其他方法可以跟踪?

通常的处理方法是设置cookie。在提示用户输入第二个因素之前,检查cookie是否存在。如果是这样的话,那么用户就可以继续了,所以您可以跳过它

您不能通过MAC地址或IP进行此操作。您无法获取客户端的MAC地址,因为此信息从未向服务器公开。IP地址不可靠,因为它通常是由用户的ISP动态分配的,并且该用户的IP地址可能会有所不同。此外,远程IP可能被欺骗,因此无论如何你都不应该信任它