我们必须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.
我理解得好吗?
我有2个应用程序
1 Ruby(不是由我编写的.我对Ruby一无所知)和其他ASP.Net
Ruby应用程序确定用户的IP地址(我告诉"使用在HTTP_X_FORWARDED中找到的第一个IP")并将其散列版本传递给ASP.Net应用程序.
然后ASP.Net应用程序再次确定客户端的IP地址(使用Request.UserHostAddress)并散列值.
然后比较哈希.
通常这些哈希对我们所有的客户都是相同的(如您所料).
但是,我们有1个新客户,但事实并非如此......
他工作场所的每台计算机显然都会产生不相等的哈希
怎么会这样?