亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > Nginx > 正文

利用nginx訪問日志如何記錄mysql中的用戶id詳解

2024-08-30 12:29:04
字體:
來源:轉載
供稿:網友

前言

大家應該都知道,nginx有很強大的日志功能,但是在缺省狀態下,它只能記錄用戶的IP地址以及瀏覽器信息。如果我們有用戶登錄注冊系統,在用戶已登錄的情況下,想記錄訪問某一個網頁的到底是哪一個用戶,怎么辦呢?因為我們不只想知道到底是哪一個IP地址訪問了哪一個網頁,并且還想知道到底是哪一個登錄用戶訪問了哪一個網頁,這對于我們日后有針對性地向他/她推薦信息甚至推送廣告都是非常有用的。下面話不多說,來一起看看詳細的介紹:

nginx缺省的日志格式

127.0.0.1 - - [20/Jul/2017:22:04:08 +0800] "GET /news/index HTTP/1.1" 200 22262 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.66 Safari/537.36"

在這里,我們看到,雖然用戶已經登錄,但是日志里沒有任何與用戶相關的信息,只有ip地址。如果我們想記錄用戶的id等信息,怎么辦呢?

在PHP端輸出特殊的header

我們想到,既然用戶已登錄了,則它肯定有cookie或者session或者token信息,不管是哪種方式,我們的php一定是可以有效地獲取到這個用戶的信息的。在這里舉例我們通過session獲取到了用戶的id信息:

$user_id = Yii::$app->session['user_id'];if (empty($user_id)) { header('X-UID: 0');} else { header('X-UID: ' . $user_id);}

如果session里沒有用戶id,則說明用戶還沒有登錄,則輸出X-UID: 0(或者也可以干脆什么也不輸出)。如果獲取到了session,說明用戶已登錄,則我們把他的user_id輸出給nginx: X-UID: 12345這樣的形式。

在這里,你不止可以輸出一個信息,你可以輸出好幾個不同的字段,包括他的姓名、性別、年齡等等都可以。

創建一種新的日志格式

log_format只能被存儲在http段里,所以我們需要找到nginx.conf文件。

nginx缺省的日志格式第二部分就是用戶信息,但通常什么也沒有,只是一個-,這里我們它改造成我們從后端傳進來的header信息。由上文我們創造的特殊header是X-UID,這里需要先做一個小的轉換,把大寫字母全部改為小寫,把所有的-改為下劃線,就變成了x_uid,然后在前面拼接上$upstream_http_ ,就得到了最終的結果$upstream_http_x_uid,然后把它插入到日志格式任何你想讓它出現的地方:

log_format front '$remote_addr - $upstream_http_x_uid [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';

在server里引用這種日志格式

在server相關的設置里,因為我們上面給日志格式起名為front,所以在這里我們引用它時,需要指明用front日志格式:

access_log /var/log/nginx/front-access.log front;

新的日志結果

127.0.0.1 - 52248 [20/Jul/2017:22:35:40 +0800] "GET /news/view?id=56 HTTP/1.1" 200 19455 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.66 Safari/537.36"

注意:上面第2個數字52248,這就是我們登錄用戶的個人ID。我這里的例子比較簡單,如果你不嫌麻煩,甚至可以把登錄用戶的所有個人信息,包括手機號、郵箱全部打印在日志里,就看你是否顧慮安全問題了。

對用戶隱藏id

在上面的第一步,我們用php輸出了一個特殊header,本來我們這個header只是供nginx消費用的,但是這個header會被nginx原封不動地顯示給前端,可能會有細心的用戶感到不安。為此我們可以在nginx的server設置里再加一個小開關,隱藏掉這個頭部:

proxy_hide_header X-UID;

這樣用戶從瀏覽器端就看不到這個特殊頭部了,而并不影響nginx記錄它。

最終處理

那么我們費這么大力氣,記錄下來一個ID有什么用呢?這個用處可就大了。大家都知道我們有一個日志分析的利器logstash,通過它結合上ELK組件可以分析處理Apache或者nginx日志。如果我們沒有這個ID信息的話,最多也只能分析出來哪一個網頁經常被用戶訪問,僅此而已。但現在我們有了用戶ID,我們甚至可以連接mysql/1374.html">mysql/35595.html">mysql數據庫表進行分析,研究哪一個年齡段的,哪一個性別的,或者哪一個城市的用戶喜歡訪問什么網頁,甚至有針對性地了解具體某一個用戶,他喜歡在什么時間段訪問什么網頁,進而有針對性地為他提供定制化的服務。這還不夠強大嗎?

總結

以上就是這篇文章的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产99久久久欧美黑人| 国外成人在线播放| 欧美激情中文字幕在线| 日韩美女免费视频| 亚洲欧洲一区二区三区在线观看| 久久精品国产一区| 亚洲高清免费观看高清完整版| 久久免费成人精品视频| 91av在线免费观看| 欧洲精品毛片网站| 亚洲美女免费精品视频在线观看| 九色91av视频| 午夜欧美大片免费观看| 久久九九国产精品怡红院| 91高清免费在线观看| 91精品国产91久久久久福利| 国产999在线| 久久男人资源视频| 国产精品久久久久久久久男| 韩国日本不卡在线| 91精品国产综合久久香蕉922| 97久久久免费福利网址| 欧美性高跟鞋xxxxhd| 亚洲欧美日韩中文在线制服| 日韩在线播放一区| 精品国产91久久久久久| 久久久久久久电影一区| 国产成人激情视频| 久久精品国产成人精品| 欧美肥臀大乳一区二区免费视频| 国产精品嫩草影院久久久| 精品毛片三在线观看| 国产精品劲爆视频| 日韩在线观看av| 91av网站在线播放| 中文字幕日本精品| 欧美综合在线第二页| 美女视频久久黄| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲xxxx做受欧美| 国产精品久久电影观看| 欧美区二区三区| 性日韩欧美在线视频| 日韩激情av在线播放| 亚洲专区国产精品| 国产日韩欧美成人| 青草青草久热精品视频在线观看| 色综合伊人色综合网| 亚洲一区二区三区777| 黄色成人在线播放| 国产成人小视频在线观看| 久久色在线播放| 国产mv免费观看入口亚洲| 77777少妇光屁股久久一区| 超碰日本道色综合久久综合| 欧美极度另类性三渗透| 日韩av在线天堂网| 最近2019中文免费高清视频观看www99| 奇米影视亚洲狠狠色| 亚洲精品国精品久久99热| 国产伊人精品在线| 久热精品视频在线观看| 欧美精品性视频| 亚洲四色影视在线观看| 国产成人短视频| 国产精品黄色av| 91亚洲永久免费精品| 精品在线小视频| 97欧美精品一区二区三区| 亚洲电影免费观看高清完整版| 日韩一区二区福利| 亚洲欧美日本精品| 日韩女优人人人人射在线视频| 91精品国产91久久| 欧美一级片一区| 伊人久久久久久久久久| 亚洲精品小视频在线观看| 综合久久五月天| 精品国产一区二区三区久久久狼| 国产精品国产福利国产秒拍| 色妞一区二区三区| 亚洲精品日韩久久久| 亚洲精品国偷自产在线99热| 51视频国产精品一区二区| 91av在线免费观看| 欧美精品videossex性护士| 亚洲精品狠狠操| 精品香蕉在线观看视频一| 中文.日本.精品| 国产在线高清精品| 精品视频久久久久久久| 欧美精品激情blacked18| 人体精品一二三区| 欧美亚洲国产日韩2020| 色偷偷偷综合中文字幕;dd| 亚洲人成网在线播放| 91夜夜揉人人捏人人添红杏| 亚洲欧美日韩视频一区| 亚洲午夜国产成人av电影男同| 日韩av最新在线| 久久久天堂国产精品女人| 欧美专区福利在线| 亚洲伦理中文字幕| 国产成人avxxxxx在线看| 欧美精品18videos性欧美| 亚洲一区av在线播放| 精品香蕉在线观看视频一| 91精品国产自产在线老师啪| 亚洲美女激情视频| 亚洲国产精品成人av| 日韩欧美一区二区三区| 久久视频中文字幕| 亚洲最大中文字幕| 日韩精品一区二区三区第95| 麻豆国产精品va在线观看不卡| 国产精品久久久久久久久粉嫩av| 青青a在线精品免费观看| 91探花福利精品国产自产在线| 日韩电影中文字幕在线观看| 日韩欧美在线一区| 在线成人激情视频| 久久精品色欧美aⅴ一区二区| 欧美性生活大片免费观看网址| 久久韩剧网电视剧| 中文精品99久久国产香蕉| 国产欧美日韩精品在线观看| 97色伦亚洲国产| 亚洲精品第一国产综合精品| 亚洲成人精品视频| 中文日韩电影网站| 97在线视频免费| 久久久人成影片一区二区三区| 久久成人这里只有精品| 97**国产露脸精品国产| 亚洲free嫩bbb| 亚洲精品网址在线观看| 国产精品网红直播| 午夜精品久久久久久久久久久久| 欧美午夜无遮挡| 精品久久在线播放| 精品免费在线观看| 91高清免费在线观看| 国产亚洲精品久久| 国产免费一区二区三区在线观看| 97超级碰碰碰| 国产在线精品播放| 超薄丝袜一区二区| 亚洲精品视频免费| 成人国内精品久久久久一区| 亚洲男人天堂九九视频| 国内精品免费午夜毛片| 久久视频中文字幕| 亚洲91av视频| 亚洲最大在线视频| 69视频在线免费观看| 久热在线中文字幕色999舞| 欧洲美女7788成人免费视频| 久久久国产成人精品| 色久欧美在线视频观看| 成人激情免费在线| 欧美激情亚洲一区| 久久久欧美一区二区| 午夜精品久久久久久久男人的天堂| 日韩av影视综合网|