检查 cookie 是不是不包含指定的内容 NGINX
Posted
技术标签:
【中文标题】检查 cookie 是不是不包含指定的内容 NGINX【英文标题】:Check if cookie does NOT contain specified content NGINX检查 cookie 是否不包含指定的内容 NGINX 【发布时间】:2015-09-13 11:49:20 【问题描述】:有无数关于检查 cookie 是否存在并包含我的内容的教程,在本例中为 foobar
。
假设 mycookie 是我想要设置的 cookie,我该如何执行以下操作。
if ($cookie_mycookie does not equal "foobar")
return 401;
我尝试了以下方法无济于事。
if (!$http_mycookie ~* "foorbar" )
return 401;
谢谢!
【问题讨论】:
【参考方案1】:在 nginx 中,每个 cookie 都在嵌入变量 $cookie_CookieName
中可用。如果你想检查名称为mycookie
的cookie,你可以使用这个配置sn-p:
if ($cookie_mycookie != "foobar")
return 401;
来自 nginx manual 的 if
命令:
一个条件可能(等等):
使用
=
和!=
运算符比较变量与字符串;使用
~
(用于区分大小写的匹配)和~*
(用于不区分大小写的匹配)运算符将变量与正则表达式匹配。正则表达式可以包含可供以后在 $1..$9 变量中重用的捕获。
也可以使用负运算符
!~
和!~*
。如果正则表达式包含或
;
字符,则整个表达式应该用单引号或双引号括起来。
【讨论】:
以上是关于检查 cookie 是不是不包含指定的内容 NGINX的主要内容,如果未能解决你的问题,请参考以下文章
检查 Sql Server Compact Database(.sdf) 是不是包含未连接的内容