發表日期:2019-09 文章編輯:小燈 瀏覽次數:5151
場景:個別情況因為服務器或其他原因不能獲取IP,會顯示127.0.0.1 這時可以改動代碼解決此類問題
處理文件:\app\common.php
functionwritelog($uid,$username,$description,$status){$data['admin_id']=$uid;$data['admin_name']=$username;$data['description']=$description;$data['status']=$status;$data['ip']=request()->ip();$data['add_time']=time();$log=db('Log')->insert($data);}替換成
functiondefip(){//strcasecmp比較兩個字符,不區分大小寫。返回0,>0,<0。if(getenv('HTTP_CLIENT_IP')&&strcasecmp(getenv('HTTP_CLIENT_IP'),'unknown')){$ip=getenv('HTTP_CLIENT_IP');}elseif(getenv('HTTP_X_FORWARDED_FOR')&&strcasecmp(getenv('HTTP_X_FORWARDED_FOR'),'unknown')){$ip=getenv('HTTP_X_FORWARDED_FOR');}elseif(getenv('REMOTE_ADDR')&&strcasecmp(getenv('REMOTE_ADDR'),'unknown')){$ip=getenv('REMOTE_ADDR');}elseif(isset($_SERVER['REMOTE_ADDR'])&&$_SERVER['REMOTE_ADDR']&&strcasecmp($_SERVER['REMOTE_ADDR'],'unknown')){$ip=$_SERVER['REMOTE_ADDR'];}$res=preg_match('/[\d\.]{7,15}/',$ip,$matches)?$matches[0]:'';return$res;}functionwritelog($uid,$username,$description,$status){$data['admin_id']=$uid;$data['admin_name']=$username;$data['description']=$description;$data['status']=$status;$data['ip']=defip();//request()->ip();$data['add_time']=time();$log=db('Log')->insert($data);}