Can't remove cookies!

G

Guest

Hi,

I have a login page where if the user wants his access codes to be saved are
set into a cookie. In the logout page, I want to delete those cookies. I
tried this and this is not working at all:

if (Request.Cookies[COOKIE_USER] != null
&& Request.Cookies[admin.COOKIE_PSWD] != null)
{
Response.Cookies[COOKIE_USER].Value = null;
Response.Cookies[COOKIE_PSWD].Value = null;
Response.Cookies.Remove(COOKIE_USER);
Response.Cookies.Remove(COOKIE_PSWD);
}

If I do a response.write like this right after or on another page, it shows
that the cookies are still set:

Response.Write((Request.Cookies[COOKIE_USER] == null) + " " +
Request.Cookies[COOKIE_USER].Value + " ");
Response.Write((Request.Cookies[COOKIE_PSWD] == null) + " " +
Request.Cookies[COOKIE_PSWD].Value);

Why is this not working? How do we remove user's cookie?

Thanks

Stephane
 
C

Chris R. Timmons

Hi,

I have a login page where if the user wants his access codes to
be saved are set into a cookie. In the logout page, I want to
delete those cookies. I tried this and this is not working at
all:

if (Request.Cookies[COOKIE_USER] != null
&& Request.Cookies[admin.COOKIE_PSWD] != null)
{
Response.Cookies[COOKIE_USER].Value = null;
Response.Cookies[COOKIE_PSWD].Value = null;
Response.Cookies.Remove(COOKIE_USER);
Response.Cookies.Remove(COOKIE_PSWD);
}

If I do a response.write like this right after or on another
page, it shows that the cookies are still set:

Response.Write((Request.Cookies[COOKIE_USER] == null) + " " +
Request.Cookies[COOKIE_USER].Value + " ");
Response.Write((Request.Cookies[COOKIE_PSWD] == null) + " " +
Request.Cookies[COOKIE_PSWD].Value);

Why is this not working? How do we remove user's cookie?

Stephane,

Set the cookie's expiration date to sometime in the past. When it is
sent back to the browser, the browser will look at the cookie's date
and determine it has expired and delete it. For example:

Response.Cookies[COOKIE_USER].Expires = DateTime.Now.AddDays(-10);
Response.Cookies[COOKIE_PSWD].Expires = DateTime.Now.AddDays(-10);
 
G

Guest

Hi,

I tried this and the damned cookie is still there!

Response.Cookies[admin.COOKIE_USER].Expires = DateTime.Now.AddDays(-10);
Response.Cookies[admin.COOKIE_PSWD].Expires = DateTime.Now.AddDays(-10);
Response.Cookies[admin.COOKIE_USER].Value = null;
Response.Cookies[admin.COOKIE_PSWD].Value = null;
Response.Cookies.Remove(admin.COOKIE_USER);
Response.Cookies.Remove(admin.COOKIE_PSWD);

Maybe it's the way I set the cookie?

HttpCookie cookieUsr = new HttpCookie(COOKIE_USER, username);
cookieUsr.Expires = DateTime.Now.AddDays(1000);
HttpCookie cookiePwd = new HttpCookie(COOKIE_PSWD, encryptedValue);
cookiePwd.Expires = DateTime.Now.AddDays(1000);
Response.SetCookie(cookieUsr);
Response.SetCookie(cookiePwd);

Thanks for any help!

Stephane


Chris R. Timmons said:
Hi,

I have a login page where if the user wants his access codes to
be saved are set into a cookie. In the logout page, I want to
delete those cookies. I tried this and this is not working at
all:

if (Request.Cookies[COOKIE_USER] != null
&& Request.Cookies[admin.COOKIE_PSWD] != null)
{
Response.Cookies[COOKIE_USER].Value = null;
Response.Cookies[COOKIE_PSWD].Value = null;
Response.Cookies.Remove(COOKIE_USER);
Response.Cookies.Remove(COOKIE_PSWD);
}

If I do a response.write like this right after or on another
page, it shows that the cookies are still set:

Response.Write((Request.Cookies[COOKIE_USER] == null) + " " +
Request.Cookies[COOKIE_USER].Value + " ");
Response.Write((Request.Cookies[COOKIE_PSWD] == null) + " " +
Request.Cookies[COOKIE_PSWD].Value);

Why is this not working? How do we remove user's cookie?

Stephane,

Set the cookie's expiration date to sometime in the past. When it is
sent back to the browser, the browser will look at the cookie's date
and determine it has expired and delete it. For example:

Response.Cookies[COOKIE_USER].Expires = DateTime.Now.AddDays(-10);
Response.Cookies[COOKIE_PSWD].Expires = DateTime.Now.AddDays(-10);
 
V

vMike

Try this (I only know vb so I may not have all the syntax correct) Also,
you want to make sure the request.cookie exists first or it will throw an
error.
if not request.cookies[admin.COOKIE_USER] is nothing then
Request.Cookies[admin.COOKIE_USER].Expires = DateTime.Now.AddDays(-10);
Request.Cookies[admin.COOKIE_PSWD].Expires = DateTime.Now.AddDays(-10);
Reponse.Cookies.add(Request.Cookies[admin.COOKIE_USER])
Response.Cookies.add(Request.Cookies[admin.COOKIE_PSWD])

Basically you are adding an expired cookie. From my experience remove cookie
does not work I saw an explanation of why somewhere but I can't remember
where.
 
V

vMike

vMike said:
Try this (I only know vb so I may not have all the syntax correct) Also,
you want to make sure the request.cookie exists first or it will throw an
error.
if not request.cookies[admin.COOKIE_USER] is nothing then
Request.Cookies[admin.COOKIE_USER].Expires = DateTime.Now.AddDays(-10);
Request.Cookies[admin.COOKIE_PSWD].Expires = DateTime.Now.AddDays(-10);
Reponse.Cookies.add(Request.Cookies[admin.COOKIE_USER])
Response.Cookies.add(Request.Cookies[admin.COOKIE_PSWD])

Basically you are adding an expired cookie. From my experience remove cookie
does not work I saw an explanation of why somewhere but I can't remember
where.

BTW I don't think the cookie is actually removed, it is just expired. I
don't think you can erase the cookie from the client. Others may know if
that is possible.
 
V

vMike

Stephane said:
Hi,

I tried this and the damned cookie is still there!

Response.Cookies[admin.COOKIE_USER].Expires = DateTime.Now.AddDays(-10);
Response.Cookies[admin.COOKIE_PSWD].Expires = DateTime.Now.AddDays(-10);
Response.Cookies[admin.COOKIE_USER].Value = null;
Response.Cookies[admin.COOKIE_PSWD].Value = null;
Response.Cookies.Remove(admin.COOKIE_USER);
Response.Cookies.Remove(admin.COOKIE_PSWD);

Maybe it's the way I set the cookie?

HttpCookie cookieUsr = new HttpCookie(COOKIE_USER, username);
cookieUsr.Expires = DateTime.Now.AddDays(1000);
HttpCookie cookiePwd = new HttpCookie(COOKIE_PSWD, encryptedValue);
cookiePwd.Expires = DateTime.Now.AddDays(1000);
Response.SetCookie(cookieUsr);
Response.SetCookie(cookiePwd);
This article may help http://www.codeproject.com/aspnet/aspnetcookies.asp
 
G

Guest

I finally had it to work... I remove it from the request too.

Here's my code:

HttpCookie c1 = Request.Cookies[admin.COOKIE_USER];
HttpCookie c2 = Request.Cookies[admin.COOKIE_PSWD];
Request.Cookies.Remove(admin.COOKIE_USER);
Request.Cookies.Remove(admin.COOKIE_PSWD);
c1.Expires = DateTime.Now.AddDays(-10);
c2.Expires = DateTime.Now.AddDays(-10);
c1.Value = null;
c2.Value = null;
Response.SetCookie(c1);
Response.SetCookie(c2);

Stephane

vMike said:
Stephane said:
Hi,

I tried this and the damned cookie is still there!

Response.Cookies[admin.COOKIE_USER].Expires = DateTime.Now.AddDays(-10);
Response.Cookies[admin.COOKIE_PSWD].Expires = DateTime.Now.AddDays(-10);
Response.Cookies[admin.COOKIE_USER].Value = null;
Response.Cookies[admin.COOKIE_PSWD].Value = null;
Response.Cookies.Remove(admin.COOKIE_USER);
Response.Cookies.Remove(admin.COOKIE_PSWD);

Maybe it's the way I set the cookie?

HttpCookie cookieUsr = new HttpCookie(COOKIE_USER, username);
cookieUsr.Expires = DateTime.Now.AddDays(1000);
HttpCookie cookiePwd = new HttpCookie(COOKIE_PSWD, encryptedValue);
cookiePwd.Expires = DateTime.Now.AddDays(1000);
Response.SetCookie(cookieUsr);
Response.SetCookie(cookiePwd);
This article may help http://www.codeproject.com/aspnet/aspnetcookies.asp
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,770
Messages
2,569,583
Members
45,075
Latest member
MakersCBDBloodSupport

Latest Threads

Top