Commit 012219d4 authored by 杨培's avatar 杨培

客户端请求时将透传IP与代理信息,以确保服务方可以获取到正确的IP地址

parent cf50211b
...@@ -184,6 +184,20 @@ class Client ...@@ -184,6 +184,20 @@ class Client
CURLOPT_USERAGENT => $userAgent CURLOPT_USERAGENT => $userAgent
]); ]);
//IP 透传
if (isset($_SERVER['REMOTE_ADDR'])) {
$clientIp = !empty($_SERVER['HTTP_CLIENT_IP']) ? $_SERVER['HTTP_CLIENT_IP'] : $_SERVER['REMOTE_ADDR'];
$headers[] = 'Client-IP: ' . $clientIp;
$forwardedFor = !empty($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] :
($_SERVER['REMOTE_ADDR'] != $_SERVER['SERVER_ADDR'] ? $_SERVER['REMOTE_ADDR'] : '');
if ($forwardedFor && $forwardedFor != $clientIp) {
$forwardedFor .= ','.$_SERVER['SERVER_ADDR'];
$headers[] = 'X-Forwarded-For: '.$forwardedFor;
}
}
//POST 请求 //POST 请求
if ($post) { if ($post) {
$body = is_array($post) ? http_build_query($post) : $post; $body = is_array($post) ? http_build_query($post) : $post;
...@@ -194,7 +208,7 @@ class Client ...@@ -194,7 +208,7 @@ class Client
} }
//优化 //优化
$headers[] = 'Expect:'; $headers[] = 'Expect: ';
curl_setopt_array($ci, [ curl_setopt_array($ci, [
CURLOPT_HTTPHEADER => $headers, CURLOPT_HTTPHEADER => $headers,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment