Forum Discussion
httponly cookie flag
Hi,
I try to use this Irule but when I enable the httponly option the VS is not working:
when HTTP_RESPONSE {
HTTP::cookie version 1 HTTP::cookie secure enable HTTP::cookie domain HTTP::cookie httponly enable }
If i use HTTP::header I lose persistency between the nodes in the pool:
when HTTP_RESPONSE { set ck [HTTP::header values "Set-Cookie"] foreach acookie $ck { if {$acookie starts_with ""} { HTTP::header replace "Set-Cookie" "${acookie}; HttpOnly; Secure" } } }
Any help please? Thanks
2 Replies
- nitass
Employee
If i use HTTP::header I lose persistency between the nodes in the pool:
have you seen cookie in subsequent requests?
- David_Stout
Nimbostratus
I use this iRule. If you are running Version 11 code you can remove the hash in front of the marked line. HTTPOnly is only available in V11. It doesn't affect persistence.
when RULE_INIT { Cookie name prefix set static::ck_pattern "BIGipServer*" Log debug to /var/log/ltm? 1=yes, 0=no) set static::ck_debug 0 Cookie encryption passphrase Change this to a custom string! set static::ck_pass "somesecurepass1234" } when HTTP_REQUEST { if {$static::ck_debug}{log local0. "Request cookie names: [HTTP::cookie names]"} Check if the cookie names in the request match our string glob pattern if {[set cookie_names [lsearch -all -inline [HTTP::cookie names] $static::ck_pattern]] ne ""}{ We have at least one match so loop through the cookie(s) by name if {$static::ck_debug}{log local0. "Matching cookie names: [HTTP::cookie names]"} foreach cookie_name $cookie_names { Decrypt the cookie value and check if the decryption failed (null return value) if {[HTTP::cookie decrypt $cookie_name $static::ck_pass] eq ""}{ Cookie wasn't encrypted, delete it if {$static::ck_debug}{log local0. "Removing cookie as decryption failed for $cookie_name"} HTTP::cookie remove $cookie_name } } if {$static::ck_debug}{log local0. "Cookie header(s): [HTTP::header values Cookie]"} } } when HTTP_RESPONSE { if {$static::ck_debug}{log local0. "Response cookie names: [HTTP::cookie names]"} Check if the cookie names in the request match our string glob pattern if {[set cookie_names [lsearch -all -inline [HTTP::cookie names] $static::ck_pattern]] ne ""}{ We have at least one match so loop through the cookie(s) by name if {$static::ck_debug}{log local0. "Matching cookie names: [HTTP::cookie names]"} foreach cookie_name $cookie_names { Encrypt the cookie value HTTP::cookie encrypt $cookie_name $static::ck_pass HTTP::cookie secure $cookie_name enable added in V11 code HTTP::cookie httponly $cookie enable } if {$static::ck_debug}{log local0. "Set-Cookie header(s): [HTTP::header values Set-Cookie]"} } }
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com