在C#中内置了一个游戏模拟器。
当用户登录到它,它会记录他们的IP地址,以禁止等…
我们位于反向代理之后,所以进入仿真器的所有连接当然都是代理的IP。
但在我们的注册PHP页面上,我们使用了以下代码...
function getRealIpAddr() {
if (!empty($_SERVER['HTTP_CLIENT_IP']))
//check ip from share internet
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
//to check ip is pass from proxy
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}并设法通过我们的反向代理返回客户端的正确IP。
这就是我目前在C#中获取客户端IP的方式...
public string RemoteAddress
{
get
{
return ((mSocket != null && mSocket.Connected ?
mSocket.RemoteEndPoint.ToString().Split(':')[0] : string.Empty));
}
}为了给您提供一些上下文,mSocket是客户端连接的套接字
C#有没有一个函数可以做同样的事情呢?我看到的所有答案都将我引向ASP,但我不需要它!
发布于 2012-12-14 22:46:24
我已经决定当用户使用PHP登录时,它现在将设置他们的IP,而不是在他们连接到该IP时由仿真器进行设置!
干杯理查德:)
https://stackoverflow.com/questions/13880610
复制相似问题