巅云智能建站平台搭建版(创业流派版)火爆上线,毕生受权!新增:文章智能收罗+全站真静态打包+都会分站+智能小法式+不法词过滤+H5自顺应+智能链词等功效功效概况
建站资讯News

操纵nginx拜候日记若何记实mysql中的用户id详解

0
一佰互联网站扶植(www.taishanly.com) 宣布时候:2020-04-23 09:22:09 阅读数: 101

媒介

巨匠应当都晓得,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数据库表停止阐发,研讨哪个春秋段的,哪个性别的,或哪个都会的用户喜好拜候甚么网页,乃至有针对性地领会具体某一个用户,他喜好在甚么时候段拜候甚么网页,进而有针对性地为他供给定制化的办事。这还不够壮大吗?

总结

以上便是这篇文章的全数内容,但愿本文的内容对巨匠的进修或任务能带来必然的赞助,若是有疑难巨匠能够留言交换,感谢巨匠对网页设想的撑持。

一佰互联是天下着名建站品牌办事商,咱们有九年、网站建造、网页设想、php开辟和域名注册及假造主机办事经历,供给的办事更是天下着名。最近几年来还整合团队上风自立开辟了可视化多用户”“3.0平台版,拖拽排版网站建造设想,轻松完成pc站、手机微网站、小法式、APP一体化全网营销网站扶植 ,已胜利的为天下上百家搜集公司供给自助建站平台搭建办事。更多资讯:tags标签

上一篇:tomcat简介_能源节点Java学院清算
下一篇: centos7中装置Android SDK的体例步骤
[前往动静列表]

相干动静more

28
04月
PHP获得数组长度或某个值呈现次数的体例

本文实例报告了PHP获得数组长度或某个值呈现次数的体例。分享给巨匠供巨匠参考。具体阐发以下:count():对数组中的元素个数停止统计;比方... >>概况

27
03月
跨境卖家邮件营销若何做?

简介:邮件营销死了吗?这是最近几年来电商营销界经常提起的标题题目。对不善于利用邮件营销的人,邮件营销确切没甚么用,可是善于利用的人都在受害于邮件营... >>概况

30
04月
优化PHP法式的体例小结

1. If a method c++an be static, declare it static. Speed improvement i... >>概况

22
04月
div 超越埋没 笔墨超越div局部埋没cs

未埋没之前: 埋没以后: CSS: 复制代码代码以下:overflow:hidden;text-overflow:ellipsis;whit... >>概况

高端网站扶植

美工统筹SEO,为企业电子商务营销助力!

德律风:

023-85725751
建站

产物

域名注册 假造主机 云办事器 企业邮局
智能建站 APP打包 微站/小法式 创业平台
网站推行 媒体营销 智能收罗 AI机械人
400德律风 短信营销 店销机械人
私家定制 流派网站