首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >netscaler检查cookie是否存在

netscaler检查cookie是否存在
EN

Stack Overflow用户
提问于 2016-08-16 22:53:45
回答 2查看 2.9K关注 0票数 0

我试图使用Citrix Netscaler来检查是否存在特定的cookie。这看起来应该是直截了当的,但到目前为止我还没有取得成功。

具体来说,我希望在Responder策略中检查cookie的存在,如果没有找到cookie,则将用户重定向到特定的页面。然后,该页面上的JavaScript脚本将创建cookie,以便在下次访问时不会触发重定向。这样做的目的是将用户重定向到带有消息的页面,但只在cookie到期时重定向一次。

我对设置Responder的政策和行动很满意,但没有能够让cookie检查按需要工作。在Firefox developer视图中,我可以看到cookie是按预期创建的。

我正在使用版本10.5的Netscaler

我进行了广泛的搜索,但没有找到一个有效的答案,或者至少是我理解并能够应用的答案。我还搜索了Citrix Netscaler社区,并阅读了NS文档。

到目前为止,我能想到的最接近的方法是

代码语言:javascript
复制
!HTTP.REQ.COOKIE.CONTAINS("myCookie")

我原以为会看到饼干的存在,而不是因为!而触发了政策。我尝试使用.NOT和语句的结尾,而不是!,但没有成功。

我测试了这些cookie是通过

代码语言:javascript
复制
HTTP.REQ.COOKIE.LENGTH < or > some arbitray value 

我可以看到,它是正确的评估和逻辑工作的预期。根据文档,HTTP.REQ.COOKIE返回一个包含HTTP头部内容的名称/值列表,因此我希望如果找到Cookie名称,.CONTAINS将计算为true。情况似乎并非如此。

EN

回答 2

Stack Overflow用户

发布于 2020-07-02 13:09:54

我知道现在答复太晚了。但这可能会帮助那些有类似疑问的人。

代码语言:javascript
复制
HTTP.REQ.COOKIE.NAMES.CONTAINS_ELEMENT("myCookie").NOT

是你要找的表情。如果cookie不存在,则返回true。

HTTP.REQ.COOKIE.NAMES是HTTP中存在的cookie名称列表。如果存在mycookie,HTTP.REQ.COOKIE.NAMES.CONTAINS_ELEMENT("myCookie")将返回true。精确字符串匹配(EQ)是预先形成的,而不是模式匹配( instead )。

票数 2
EN

Stack Overflow用户

发布于 2016-12-28 21:41:48

我认为你能得到的最接近的就是检查那个cookie的值的长度。试着使用

代码语言:javascript
复制
HTTP.REQ.HEADER(\"myCookie\").LENGTH >1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38985679

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档