0

Citrix Netscaler を使用して、特定の Cookie の存在を確認しようとしています。それは簡単なように思えますが、これまでのところ成功していません。

具体的には、レスポンダー ポリシーで Cookie の存在を確認し、Cookie が見つからない場合は、ユーザーを特定のページにリダイレクトしたいと考えています。次に、そのページの JavaScript スクリプトが Cookie を作成し、次回の訪問時にリダイレクトがトリガーされないようにします。アイデアは、ユーザーをメッセージのあるページにリダイレクトすることですが、Cookie の有効期限内に 1 回だけリダイレクトします。

レスポンダー ポリシーとアクションの設定には問題はありませんが、Cookie チェックを希望どおりに機能させることができませんでした。Firefox の開発者ビューで、Cookie が期待どおりに作成されていることがわかります。

バージョン 10.5 の Netscaler MPX を使用しています。


私は広範囲に検索しましたが、うまくいく答え、または少なくとも私が理解し適用できる答えを見つけることができませんでした. また、Citrix Netscaler コミュニティを検索し、NS のドキュメントを読みました。

これまでに思いついた最も近いアプローチは次のようなものです

!HTTP.REQ.COOKIE.CONTAINS("myCookie")

私が期待していたのは、Cookie の存在を認識し、!. .NOTステートメントの代わりに andを使用してみまし!たが、うまくいきませんでした。

を使用してCookieが読み取られていることをテストしました

HTTP.REQ.COOKIE.LENGTH < or > some arbitray value 

適切に評価され、ロジックが期待どおりに機能していることがわかります。ドキュメントによると、HTTP Cookie ヘッダーの内容を含む Name/Value List が返されるため、Cookie 名が見つかった場合は true と評価されるHTTP.REQ.COOKIEと予想 していました。.CONTAINSそうではないようです。

4

2 に答える 2

0

最も近いのは、その Cookie の値の長さを確認することだと思います。使ってみて

HTTP.REQ.HEADER(\"myCookie\").LENGTH >1
于 2016-12-28T21:41:48.683 に答える