求 Nginx 实现 cookie 判断的方法

2017-06-27 22:28:33 +08:00
 aimerforreimu

是这样的,想要用 Nginx 对某一个特定的 cookie 进行判断,如果存在这个 cookie,当用户访问某一个页面的时候返回 403,当不存在这 cookie 的时候访问该页面是正常的 应该如何实现? THX~

5857 次点击
所在节点    问与答
6 条回复
wanderer
2017-06-28 01:31:33 +08:00
这个还是比较容易的吧。
用 ngx_lua 几行代码就搞定了,在 access 阶段读取下 $cookie_你需要检测的 cookie 名字,如果为空,则………如果存在则……

或者你可以试下 cloudflare 的 https://github.com/cloudflare/lua-resty-cookie/blob/master/README.md 这个库子中的 get 方式。
wanderer
2017-06-28 01:34:20 +08:00
或者直接用 rewrite 模块的 if 指令也能完成你想要的需求
xiaopc
2017-06-28 06:58:13 +08:00
if ($http_cookie ~* "example=test"){
return 403;
}
aimerforreimu
2017-06-28 14:43:05 +08:00
@xiaopc
感谢,这个我是知道的
但是,这个对于指定页面如何实现呢
我是卡在了对于指定页面上,比如访问 https://example.com/example.html 时进行判断
aimerforreimu
2017-06-28 14:47:20 +08:00
@wanderer 感谢,lua 模块我确实不了解……
让我看一下,如果使用 rewrite 模块应该如何写呢
xiaopc
2017-06-28 15:01:35 +08:00
location 块啊.....

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/371519

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX