472,986 Members | 2,929 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,986 software developers and data experts.

How to handle case-sensitivity of cookie?

Hello all,

I'm still a bit new with JavaScript, and I hope the guru here can shed
some light for me. It's regarding handling cookie and the
case-sensitive nature of JavaScript itself.

My problem is how do I handle the "path" parameter in cookie.

First, the sequence start at
http://www.testServer1.com/TestApp/page1.htm, and a cookie is set at
that page.

Then, the following page, somehow change the case on the path, such as
http://www.testServer1.com/testApp/page2.htm. Now in this page, I
cannot access to the cookie that's set at the first initial page.

Is there anyway to handle this kind of scenario? I hope I'm explaining
the problem correctly.

Thank you in advance.
Kelvin

Aug 21 '06 #1
6 2648
Why does the TestApp directory have to change caps?
kelvlam wrote:
Hello all,

I'm still a bit new with JavaScript, and I hope the guru here can shed
some light for me. It's regarding handling cookie and the
case-sensitive nature of JavaScript itself.

My problem is how do I handle the "path" parameter in cookie.

First, the sequence start at
http://www.testServer1.com/TestApp/page1.htm, and a cookie is set at
that page.

Then, the following page, somehow change the case on the path, such as
http://www.testServer1.com/testApp/page2.htm. Now in this page, I
cannot access to the cookie that's set at the first initial page.

Is there anyway to handle this kind of scenario? I hope I'm explaining
the problem correctly.

Thank you in advance.
Kelvin
Aug 21 '06 #2
kelvlam said the following on 8/21/2006 2:20 PM:
Hello all,

I'm still a bit new with JavaScript, and I hope the guru here can shed
some light for me. It's regarding handling cookie and the
case-sensitive nature of JavaScript itself.

My problem is how do I handle the "path" parameter in cookie.

First, the sequence start at
http://www.testServer1.com/TestApp/page1.htm, and a cookie is set at
that page.

Then, the following page, somehow change the case on the path, such as
http://www.testServer1.com/testApp/page2.htm. Now in this page, I
cannot access to the cookie that's set at the first initial page.

Is there anyway to handle this kind of scenario? I hope I'm explaining
the problem correctly.
Set it to lower case, then test it.

cookieString.toLowerCase()

--
Randy
comp.lang.javascript FAQ - http://jibbering.com/faq & newsgroup weekly
Javascript Best Practices - http://www.JavascriptToolbox.com/bestpractices/
Aug 21 '06 #3
Randy Webb wrote:
kelvlam said the following on 8/21/2006 2:20 PM:
Hello all,

I'm still a bit new with JavaScript, and I hope the guru here can shed
some light for me. It's regarding handling cookie and the
case-sensitive nature of JavaScript itself.

My problem is how do I handle the "path" parameter in cookie.

First, the sequence start at
http://www.testServer1.com/TestApp/page1.htm, and a cookie is set at
that page.

Then, the following page, somehow change the case on the path, such as
http://www.testServer1.com/testApp/page2.htm. Now in this page, I
cannot access to the cookie that's set at the first initial page.

Is there anyway to handle this kind of scenario? I hope I'm explaining
the problem correctly.

Set it to lower case, then test it.

cookieString.toLowerCase()

--
Randy
comp.lang.javascript FAQ - http://jibbering.com/faq & newsgroup weekly
Javascript Best Practices - http://www.JavascriptToolbox.com/bestpractices/
So should I be doing toLowercase both when setting and getting?

i.e. document.cookie = cookieStr.toLowerCase();

and for my get, I should just set the search parameter to
param.toLowerCase() and then do the string comparison?

I want to elaborate a little bit more of why I'm asking this question
also, and give some precious description of my problem.

The problem is I have no control of how a client browser access my web
site. They could be coming in as "http://www.testAbc.com/site1", or
they can be coming in as "http://www.testAbc.com/SiTe1". The site's
Index.htm page then redirect the incoming request, to a internal ISAPI
call on the IIS server.

For example when a client come in from the browser as
"http://www.testAbc.com/SiTe1", all cookies created will be only be
accessible for pages that contain "http://www.testAbc.com/SiTe1" in the
window.location property, correct? Since all my pages are generated
dynamically by the ISAPI DLL, the window.location property could be
change without my notice... and if the page somehow got
"http://www.testAbc.com/site1" stored in the window.location property,
then I won't be able to access the cookie that I intended to.

Sorry for my very broken English. It's really hard to try to explain
technical detail when I have still a fairly limited understanding of
JavaScript. I hope I didn't confuse the original problem...

Much appreciate for the help in advance.

--
Kelvin

Aug 21 '06 #4
kelvlam wrote:
Randy Webb wrote:
kelvlam said the following on 8/21/2006 2:20 PM:
Hello all,
>
I'm still a bit new with JavaScript, and I hope the guru here can shed
some light for me. It's regarding handling cookie and the
case-sensitive nature of JavaScript itself.
>
My problem is how do I handle the "path" parameter in cookie.
>
First, the sequence start at
http://www.testServer1.com/TestApp/page1.htm, and a cookie is set at
that page.
>
Then, the following page, somehow change the case on the path, such as
http://www.testServer1.com/testApp/page2.htm. Now in this page, I
cannot access to the cookie that's set at the first initial page.
>
Is there anyway to handle this kind of scenario? I hope I'm explaining
the problem correctly.
Set it to lower case, then test it.

cookieString.toLowerCase()

--
Randy
comp.lang.javascript FAQ - http://jibbering.com/faq & newsgroup weekly
Javascript Best Practices - http://www.JavascriptToolbox.com/bestpractices/

So should I be doing toLowercase both when setting and getting?

i.e. document.cookie = cookieStr.toLowerCase();

and for my get, I should just set the search parameter to
param.toLowerCase() and then do the string comparison?

I want to elaborate a little bit more of why I'm asking this question
also, and give some precious description of my problem.

The problem is I have no control of how a client browser access my web
site. They could be coming in as "http://www.testAbc.com/site1", or
they can be coming in as "http://www.testAbc.com/SiTe1". The site's
Index.htm page then redirect the incoming request, to a internal ISAPI
call on the IIS server.

For example when a client come in from the browser as
"http://www.testAbc.com/SiTe1", all cookies created will be only be
accessible for pages that contain "http://www.testAbc.com/SiTe1" in the
window.location property, correct? Since all my pages are generated
dynamically by the ISAPI DLL, the window.location property could be
change without my notice... and if the page somehow got
"http://www.testAbc.com/site1" stored in the window.location property,
then I won't be able to access the cookie that I intended to.

Sorry for my very broken English. It's really hard to try to explain
technical detail when I have still a fairly limited understanding of
JavaScript. I hope I didn't confuse the original problem...

Much appreciate for the help in advance.

--
Kelvin
I would like to point out, I've been using these common utilities
function as well, for handling my cookie within the pages. Maybe I can
tweak these utility functions to solve my problem?

<pre>
/**
* Sets a Cookie with the given name and value.
*
* name Name of the cookie
* value Value of the cookie
* [expires] Expiration date of the cookie (default: end of current
session)
* [path] Path where the cookie is valid (default: path of calling
document)
* [domain] Domain where the cookie is valid (default: domain of
calling document)
* [secure] Boolean value indicating if the cookie transmission
requires a secure transmission
*/
function setCookie(name, value, expires, path, domain, secure) {
var cookieStr;
cookieStr = name + "=" + escape(value);
cookieStr += ((expires) ? "; expires=" + expires.toGMTString() : "");
cookieStr += ((path) ? "; path=" + path : "");
cookieStr += ((domain) ? "; domain=" + domain : "");
cookieStr += ((secure) ? "; secure" : "");
document.cookie = cookieStr;
}
/**
* Gets the value of the specified cookie.
*
* name Name of the desired cookie.
*
* Returns a string containing value of specified cookie,
* or null if cookie does not exist.
*/
function getCookie(name) {
var dc = document.cookie;
var prefix = name.toLowerCase() + "=";
var begin = dc.indexOf("; " + prefix);
if (begin == -1) {
begin = dc.indexOf(prefix);
if (begin != 0) return null;
} else {
begin += 2;
}
var end = document.cookie.indexOf(";", begin);
if (end == -1) {
end = dc.length;
}
return unescape(dc.substring(begin + prefix.length, end));
}
/**
* Deletes the specified cookie.
*
* name name of the cookie
* [path] path of the cookie (must be same as path used to create
cookie)
* [domain] domain of the cookie (must be same as domain used to create
cookie)
*/
function deleteCookie(name, path, domain) {
if (getCookie(name)) {
var cookieStr;
cookieStr = name.toLowerCase() + "=";
cookieStr += ((path) ? "; path=" + path : ""); //defaultPath);
cookieStr += ((domain) ? "; domain=" + domain : "");
cookieStr += "; expires=Thu, 01-Jan-70 00:00:01 GMT";
document.cookie = cookieStr;
}
}
</pre>

Aug 21 '06 #5
Good info. I will be in touch.
kelvlam wrote:
kelvlam wrote:
Randy Webb wrote:
kelvlam said the following on 8/21/2006 2:20 PM:
Hello all,

I'm still a bit new with JavaScript, and I hope the guru here can shed
some light for me. It's regarding handling cookie and the
case-sensitive nature of JavaScript itself.

My problem is how do I handle the "path" parameter in cookie.

First, the sequence start at
http://www.testServer1.com/TestApp/page1.htm, and a cookie is set at
that page.

Then, the following page, somehow change the case on the path, such as
http://www.testServer1.com/testApp/page2.htm. Now in this page, I
cannot access to the cookie that's set at the first initial page.

Is there anyway to handle this kind of scenario? I hope I'm explaining
the problem correctly.
>
Set it to lower case, then test it.
>
cookieString.toLowerCase()
>
--
Randy
comp.lang.javascript FAQ - http://jibbering.com/faq & newsgroup weekly
Javascript Best Practices - http://www.JavascriptToolbox.com/bestpractices/
So should I be doing toLowercase both when setting and getting?

i.e. document.cookie = cookieStr.toLowerCase();

and for my get, I should just set the search parameter to
param.toLowerCase() and then do the string comparison?

I want to elaborate a little bit more of why I'm asking this question
also, and give some precious description of my problem.

The problem is I have no control of how a client browser access my web
site. They could be coming in as "http://www.testAbc.com/site1", or
they can be coming in as "http://www.testAbc.com/SiTe1". The site's
Index.htm page then redirect the incoming request, to a internal ISAPI
call on the IIS server.

For example when a client come in from the browser as
"http://www.testAbc.com/SiTe1", all cookies created will be only be
accessible for pages that contain "http://www.testAbc.com/SiTe1" in the
window.location property, correct? Since all my pages are generated
dynamically by the ISAPI DLL, the window.location property could be
change without my notice... and if the page somehow got
"http://www.testAbc.com/site1" stored in the window.location property,
then I won't be able to access the cookie that I intended to.

Sorry for my very broken English. It's really hard to try to explain
technical detail when I have still a fairly limited understanding of
JavaScript. I hope I didn't confuse the original problem...

Much appreciate for the help in advance.

--
Kelvin

I would like to point out, I've been using these common utilities
function as well, for handling my cookie within the pages. Maybe I can
tweak these utility functions to solve my problem?

<pre>
/**
* Sets a Cookie with the given name and value.
*
* name Name of the cookie
* value Value of the cookie
* [expires] Expiration date of the cookie (default: end of current
session)
* [path] Path where the cookie is valid (default: path of calling
document)
* [domain] Domain where the cookie is valid (default: domain of
calling document)
* [secure] Boolean value indicating if the cookie transmission
requires a secure transmission
*/
function setCookie(name, value, expires, path, domain, secure) {
var cookieStr;
cookieStr = name + "=" + escape(value);
cookieStr += ((expires) ? "; expires=" + expires.toGMTString() : "");
cookieStr += ((path) ? "; path=" + path : "");
cookieStr += ((domain) ? "; domain=" + domain : "");
cookieStr += ((secure) ? "; secure" : "");
document.cookie = cookieStr;
}
/**
* Gets the value of the specified cookie.
*
* name Name of the desired cookie.
*
* Returns a string containing value of specified cookie,
* or null if cookie does not exist.
*/
function getCookie(name) {
var dc = document.cookie;
var prefix = name.toLowerCase() + "=";
var begin = dc.indexOf("; " + prefix);
if (begin == -1) {
begin = dc.indexOf(prefix);
if (begin != 0) return null;
} else {
begin += 2;
}
var end = document.cookie.indexOf(";", begin);
if (end == -1) {
end = dc.length;
}
return unescape(dc.substring(begin + prefix.length, end));
}
/**
* Deletes the specified cookie.
*
* name name of the cookie
* [path] path of the cookie (must be same as path used to create
cookie)
* [domain] domain of the cookie (must be same as domain used to create
cookie)
*/
function deleteCookie(name, path, domain) {
if (getCookie(name)) {
var cookieStr;
cookieStr = name.toLowerCase() + "=";
cookieStr += ((path) ? "; path=" + path : ""); //defaultPath);
cookieStr += ((domain) ? "; domain=" + domain : "");
cookieStr += "; expires=Thu, 01-Jan-70 00:00:01 GMT";
document.cookie = cookieStr;
}
}
</pre>
Sep 7 '06 #6

kelvlam wrote:
kelvlam wrote:
Randy Webb wrote:
kelvlam said the following on 8/21/2006 2:20 PM:
Hello all,

I'm still a bit new with JavaScript, and I hope the guru here can shed
some light for me. It's regarding handling cookie and the
case-sensitive nature of JavaScript itself.

My problem is how do I handle the "path" parameter in cookie.

First, the sequence start at
http://www.testServer1.com/TestApp/page1.htm, and a cookie is set at
that page.

Then, the following page, somehow change the case on the path, such as
http://www.testServer1.com/testApp/page2.htm. Now in this page, I
cannot access to the cookie that's set at the first initial page.

Is there anyway to handle this kind of scenario? I hope I'm explaining
the problem correctly.
>
Set it to lower case, then test it.
>
cookieString.toLowerCase()
>
--
Randy
comp.lang.javascript FAQ - http://jibbering.com/faq & newsgroup weekly
Javascript Best Practices - http://www.JavascriptToolbox.com/bestpractices/
So should I be doing toLowercase both when setting and getting?

i.e. document.cookie = cookieStr.toLowerCase();

and for my get, I should just set the search parameter to
param.toLowerCase() and then do the string comparison?

I want to elaborate a little bit more of why I'm asking this question
also, and give some precious description of my problem.

The problem is I have no control of how a client browser access my web
site. They could be coming in as "http://www.testAbc.com/site1", or
they can be coming in as "http://www.testAbc.com/SiTe1". The site's
Index.htm page then redirect the incoming request, to a internal ISAPI
call on the IIS server.

For example when a client come in from the browser as
"http://www.testAbc.com/SiTe1", all cookies created will be only be
accessible for pages that contain "http://www.testAbc.com/SiTe1" in the
window.location property, correct? Since all my pages are generated
dynamically by the ISAPI DLL, the window.location property could be
change without my notice... and if the page somehow got
"http://www.testAbc.com/site1" stored in the window.location property,
then I won't be able to access the cookie that I intended to.

Sorry for my very broken English. It's really hard to try to explain
technical detail when I have still a fairly limited understanding of
JavaScript. I hope I didn't confuse the original problem...

Much appreciate for the help in advance.

--
Kelvin

I would like to point out, I've been using these common utilities
function as well, for handling my cookie within the pages. Maybe I can
tweak these utility functions to solve my problem?

<pre>
/**
* Sets a Cookie with the given name and value.
*
* name Name of the cookie
* value Value of the cookie
* [expires] Expiration date of the cookie (default: end of current
session)
* [path] Path where the cookie is valid (default: path of calling
document)
* [domain] Domain where the cookie is valid (default: domain of
calling document)
* [secure] Boolean value indicating if the cookie transmission
requires a secure transmission
*/
function setCookie(name, value, expires, path, domain, secure) {
var cookieStr;
cookieStr = name + "=" + escape(value);
cookieStr += ((expires) ? "; expires=" + expires.toGMTString() : "");
cookieStr += ((path) ? "; path=" + path : "");
cookieStr += ((domain) ? "; domain=" + domain : "");
cookieStr += ((secure) ? "; secure" : "");
document.cookie = cookieStr;
}
/**
* Gets the value of the specified cookie.
*
* name Name of the desired cookie.
*
* Returns a string containing value of specified cookie,
* or null if cookie does not exist.
*/
function getCookie(name) {
var dc = document.cookie;
var prefix = name.toLowerCase() + "=";
var begin = dc.indexOf("; " + prefix);
if (begin == -1) {
begin = dc.indexOf(prefix);
if (begin != 0) return null;
} else {
begin += 2;
}
var end = document.cookie.indexOf(";", begin);
if (end == -1) {
end = dc.length;
}
return unescape(dc.substring(begin + prefix.length, end));
}
/**
* Deletes the specified cookie.
*
* name name of the cookie
* [path] path of the cookie (must be same as path used to create
cookie)
* [domain] domain of the cookie (must be same as domain used to create
cookie)
*/
function deleteCookie(name, path, domain) {
if (getCookie(name)) {
var cookieStr;
cookieStr = name.toLowerCase() + "=";
cookieStr += ((path) ? "; path=" + path : ""); //defaultPath);
cookieStr += ((domain) ? "; domain=" + domain : "");
cookieStr += "; expires=Thu, 01-Jan-70 00:00:01 GMT";
document.cookie = cookieStr;
}
}
</pre>
Sep 7 '06 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
by: R.Wieser | last post by:
Hello All, I'm trying to get a "Virtual Listbox" to work. I've currently got a form, and used CreateWindowExA to create a ListBox with the LBS_OWNERDRAWFIXED and LBS_NODATA flags on it. I've...
15
by: Tim Clacy | last post by:
Please illuminate; what operator of class 'Event' will get matched for these two cases : Event ev1; Event ev2; // Case 1 // if (ev1) ;
12
by: Ken Brubaker | last post by:
I am using DB2 8.5 FP5 on Windows 2000 Server and have noticed what appears to be a handle leak. When I execute a DB2 connect statement in a command window, followed by a DB2 connect reset...
14
by: Abhi | last post by:
FYI: This message is for the benefit of MS Access Community. I found that this prblem has been encounterd by many but there is hardly any place where a complete solution is posted. So I thought...
6
by: Leandro Berti via DotNetMonster.com | last post by:
Hi All, I wrote a code to do serial communication with an equipament. When i use the code outside of threaded class it seens work properly, but when i put inside a class and execute a thread in...
2
by: Schorschi | last post by:
Can't seemd to get ReadFile API to work! Returns invalid handle error? =========================================================================== Ok, the visual basic gurus, help! The...
4
by: SamSpade | last post by:
If I have a class that inherits from, say RichTextBox and in the derived class I refer to Handle, does it refer to the RichTextBox class or the derived class? I'm wondering if the derived class...
2
by: Gary Wessle | last post by:
Hi I need help organizing this program in the right way. I included the code below which compiles and runs and gives the desired effect to a certain point, but I don't know what the next step...
6
by: Liming | last post by:
Hi, In a typical 3 tier model (view layer, busines layer and data access layer) where do you handle your exceptions? do you let it buble up all the way to the .aspx pages or do you handle it in...
2
weaknessforcats
by: weaknessforcats | last post by:
Handle Classes Handle classes, also called Envelope or Cheshire Cat classes, are part of the Bridge design pattern. The objective of the Bridge pattern is to separate the abstraction from the...
2
by: DJRhino | last post by:
Was curious if anyone else was having this same issue or not.... I was just Up/Down graded to windows 11 and now my access combo boxes are not acting right. With win 10 I could start typing...
0
by: Aliciasmith | last post by:
In an age dominated by smartphones, having a mobile app for your business is no longer an option; it's a necessity. Whether you're a startup or an established enterprise, finding the right mobile app...
2
by: giovanniandrean | last post by:
The energy model is structured as follows and uses excel sheets to give input data: 1-Utility.py contains all the functions needed to calculate the variables and other minor things (mentions...
4
NeoPa
by: NeoPa | last post by:
Hello everyone. I find myself stuck trying to find the VBA way to get Access to create a PDF of the currently-selected (and open) object (Form or Report). I know it can be done by selecting :...
3
NeoPa
by: NeoPa | last post by:
Introduction For this article I'll be using a very simple database which has Form (clsForm) & Report (clsReport) classes that simply handle making the calling Form invisible until the Form, or all...
1
by: Teri B | last post by:
Hi, I have created a sub-form Roles. In my course form the user selects the roles assigned to the course. 0ne-to-many. One course many roles. Then I created a report based on the Course form and...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 1 Nov 2023 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM) Please note that the UK and Europe revert to winter time on...
3
by: nia12 | last post by:
Hi there, I am very new to Access so apologies if any of this is obvious/not clear. I am creating a data collection tool for health care employees to complete. It consists of a number of...
4
by: GKJR | last post by:
Does anyone have a recommendation to build a standalone application to replace an Access database? I have my bookkeeping software I developed in Access that I would like to make available to other...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.