我在api.xyz.com上部署了一些REST API,现在我想允许所有API通过授权移动设备和我的域只能访问xyz.com。允许通过移动应用程序和我的域只能访问REST API
如果我设置允许来源标头到我的网站,那么API停止响应移动devices.Please建议是否可能。
另外,当我尝试在REST API调用中获取消费者IP地址时,它总是以$ _SERVER [REMOTE_ADDR]而不是客户端IP地址返回我的API服务器公共IP。我也尝试获取消费者IP地址但没有成功。
$ipaddress = '';
if (getenv('HTTP_CLIENT_IP')) {
$ipaddress = getenv('HTTP_CLIENT_IP');
} else if (getenv('HTTP_X_FORWARDED_FOR')) {
$ipaddress = getenv('HTTP_X_FORWARDED_FOR');
if (strpos($ipaddress, ',') > 0) {
$addr = explode(",", $ipaddress);
$ipaddress = trim($addr[0]);
}
} else if (getenv('HTTP_X_FORWARDED')) {
$ipaddress = getenv('HTTP_X_FORWARDED');
} else if (getenv('HTTP_FORWARDED_FOR')) {
$ipaddress = getenv('HTTP_FORWARDED_FOR');
} else if (getenv('HTTP_FORWARDED')) {
$ipaddress = getenv('HTTP_FORWARDED');
} else if (getenv('REMOTE_ADDR')) {
$ipaddress = getenv('REMOTE_ADDR');
} else {
$ipaddress = 'UNKNOWN';
}
请建议为什么它总是给我的服务器公共IP,即使如果我通过我的机器打api。
谢谢
你总是无法获得用户的实际IP地址,特别是如果它是移动设备。那些几乎总是在NAT网关的后面,你将得到的唯一IP就是网关。 –