123456789101112131415161718192021222324252627282930313233343536373839404142 |
- <?php
- /**
- * Created by PhpStorm
- * Author: ihavoc
- * Date: 2020/11/22
- * Time: 16:46
- *
- */
- namespace app\api\middleware;
- class Ip
- {
- public function handle($request, \Closure $next)
- {
- $request->ip = $this->get_ip();
- return $next($request);
- }
- /*
- * 获取用户真实IP地址
- */
- public function get_ip()
- {
- if(!empty($_SERVER['HTTP_CLIENT_IP'])){
- $cip = $_SERVER['HTTP_CLIENT_IP'];
- }
- else if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
- $cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
- }
- else if(!empty($_SERVER["REMOTE_ADDR"])){
- $cip = $_SERVER["REMOTE_ADDR"];
- }else{
- $cip = '';
- }
- preg_match("/[\d\.]{7,15}/", $cip, $cips);
- $cip = isset($cips[0]) ? $cips[0] : 'unknown';
- unset($cips);
- return $cip;
- }
- }
|