认证高级PHP讲师
function getip(){ static $ip = ''; $ip = $_SERVER['REMOTE_ADDR']; if (isset( $_SERVER['HTTP_CDN_SRC_IP'] )) { $ip = $_SERVER['HTTP_CDN_SRC_IP']; } elseif (isset( $_SERVER['HTTP_CLIENT_IP'] ) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CLIENT_IP'])) { $ip = $_SERVER['HTTP_CLIENT_IP']; } elseif (isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) AND preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $matches)) { foreach ($matches[0] AS $xip) { if (!preg_match('#^(10|172\.16|192\.168)\.#', $xip)) { $ip = $xip; break; } } } return $ip; }
Why not use a third party, like Baidu Statistics, apply for settlement, get the code, put it into your code, and you can see it through the background
You can add a filter to the front end to get the IP from the requset header, or perform some statistical operations, similar to node (express)
const ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress || req.socket.remoteAddress; // 一些统计的代码 ... // 再往下传递 next();
Add a table directly to your database
Why not use a third party, like Baidu Statistics, apply for settlement, get the code, put it into your code, and you can see it through the background
You can add a filter to the front end to get the IP from the requset header, or perform some statistical operations, similar to node (express)
Add a table directly to your database