C# 如何保证点击远程网页链接的推荐人的唯一性(“Request.UserHostAddress”无法正常工作)?

C# 如何保证点击远程网页链接的推荐人的唯一性(“Request.UserHostAddress”无法正常工作)?,c#,asp.net,C#,Asp.net,我们可以使用Request.UserHostAddress捕获推荐人的IP地址(例如单击链接的人),但您知道,通过这种方式,我们无法确保用户的唯一性!此ip在NAT环境中无法正常工作,因为它可能涉及数百台计算机。 我正在寻找一种可能的方法来检测有多少人点击了指定的链接。 我想UserHostAddress帮不了我。 那么,有没有办法从用户的操作系统或浏览器中获取一些独特的数据? (请考虑该链接不在我自己的应用程序中。它在远程页面中)如果此链接来自您拥有的网页,您可以在父网页上设置唯一的cook

我们可以使用
Request.UserHostAddress
捕获推荐人的IP地址(例如单击链接的人),但您知道,通过这种方式,我们无法确保用户的唯一性!此ip在NAT环境中无法正常工作,因为它可能涉及数百台计算机。
我正在寻找一种可能的方法来检测有多少人点击了指定的链接。
我想
UserHostAddress
帮不了我。

那么,有没有办法从用户的操作系统或浏览器中获取一些独特的数据?

(请考虑该链接不在我自己的应用程序中。它在远程页面中)如果此链接来自您拥有的网页,您可以在父网页上设置唯一的cookie。

如果此链接来自您拥有的网页,您可以在父网页上设置唯一的cookie。

来自Grzenio的答案是正确的;我会详细说明一下。要确保客户机发送给您的内容是唯一的,唯一的方法是首先将其发送给客户机,然后确保其是唯一的。创建GUID并在cookie中设置它是一种方法。如果您关心欺骗,那么首先加密GUID


客户机没有义务拥有独一无二的东西,IP地址被明确设计为而不是识别客户机。

来自Grzenio的答案是正确的;我会详细说明一下。要确保客户机发送给您的内容是唯一的,唯一的方法是首先将其发送给客户机,然后确保其是唯一的。创建GUID并在cookie中设置它是一种方法。如果您关心欺骗,那么首先加密GUID


客户机没有义务拥有独一无二的东西,IP地址被明确设计为而不是识别客户机。

如果不能设置cookies,就不能保证您能够区分用户。Google Analytics和所有其他web分析程序都使用IP、cookies或UserID来区分用户。

如果不能设置cookies,则无法保证您能够区分用户。Google Analytics和所有其他web分析程序都使用IP、Cookie或UserID来区分用户。

Request.UserHostAddress工作正常-正如您之前的问题所指出的:如果它向您发送NAT后面的机器的IP地址,你所看到的只是一大堆IP地址在192.168.0.0到192.168.255.255之间的计算机,而且根本不知道除此之外的唯一性。Request.UserHostAddress工作正常-正如你在上一个问题上指出的:如果它向你发送NAT后面机器的IP地址,你所能看到的只是一大堆IP地址在192.168.0.0到192.168.255.255之间的计算机,而对除此之外的唯一性一无所知。