Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Updating the Expiry time on a Cookie

Posted on 2008-06-17
11
Medium Priority
?
656 Views
Last Modified: 2012-06-21
Hi all,

Once a cookie has been created using ASP, is it possible to update it's expiry time?
I would like to keep updating a cookie whilst a user is using the Web Site, but expire after 3 minutes of inactivity.

I am using ASP under WinCE 5.0, so I don't think that 'Session' is available...

Any thoughts would be appreciated.

Best regards,

James
0
Comment
Question by:James Atkin
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 5
11 Comments
 
LVL 15

Expert Comment

by:dosth
ID: 21804077
Try:
Response.Cookies("cookiename").expires=Dateadd("n" , 3, Now())
0
 
LVL 4

Author Comment

by:James Atkin
ID: 21804249
Hi,

Thanks for the info. I have tried this and I get the following error...

The collection object specified is read-only
ASP scripting compilation error: '80020009'
Description:
In file: Security.asp
On line: 29

Any thoughts? Am I doing something stupid??? :-O

James
0
 
LVL 15

Expert Comment

by:dosth
ID: 21804379
do you have the cookie added in yor code already

use that "cookiename" instead of this
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 4

Author Comment

by:James Atkin
ID: 21810850
Hi,
I updated the cookie name to match mine.
I have attached the code for the Login.asp (takes the login info) and the Securit.asp (included on all pages to ensure the valid credentials)
SECURITY.ASP*********************************
<%
      intDoHome = 1
      if (intDoHome = 1) then 
%>
<%
' *** Restrict Access To Page: Grant or deny access to this page
MM_authorizedUsers="1,2"
MM_authFailedURL="login.asp"
MM_grantAccess=false
 
If Request.Cookies("MM_Username") <> "" Then
  If (false Or CStr(Request.Cookies("MM_UserAuthorization"))="") Or _
         (InStr(1,MM_authorizedUsers,Request.Cookies("MM_UserAuthorization"))>=1) Then
    MM_grantAccess = true
  End If
End If
 
If MM_grantAccess Then
    Response.Cookies("MM_Username").Expires = DateAdd("s", 120, now())
    Response.Cookies("MM_UserID").Expires = DateAdd("s", 120, now())
End If
 
 
If Not MM_grantAccess Then
  MM_qsChar = "?"
  If (InStr(1,MM_authFailedURL,"?") >= 1) Then MM_qsChar = "&"
  MM_referrer = Request.ServerVariables("URL")
  x_strRequestQueryString = Request.QueryString
  if (Len(x_strRequestQueryString) > 0) Then MM_referrer = MM_referrer & "?" & x_strRequestQueryString
  MM_authFailedURL = MM_authFailedURL & MM_qsChar & "accessdenied=" & Server.URLEncode(MM_referrer)
  Response.Redirect(MM_authFailedURL)
End If
%>
<%
      End if 
%>
 
 
 
 
LOGIN.ASP****************************************
 
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%Response.Buffer = True%>
<!--#include file="conn.asp" -->
<!--#include file="SQLConst.asp" -->
<!--#include file="SQLFunctions.asp" -->
<!--#include file="GeneralFunctions.asp" -->
 
<%
' *** Validate request to log in to this site.
MM_LoginAction = Request.ServerVariables("URL")
 
x_strRequestQueryString = Request.QueryString
If x_strRequestQueryString<>"" Then MM_LoginAction = MM_LoginAction + "?" + xServer.HTMLEncode(Request.QueryString)
MM_valUsername=CStr(Request.Form("username"))
If MM_valUsername <> "" Then
      MM_fldUserAuthorization="intAccessLevel"
      MM_redirectLoginSuccess="home.asp"
      MM_redirectLoginFailed="failed.asp"
      MM_flag="ADOCE.Recordset.3.1"
      Set cn = CreateObject("ADOCE.Connection.3.1")
      set MM_rsUser = CreateObject(MM_flag)
      cn.Open MM_conn_STRING
      MM_rsUser.Source = "SELECT txtUsername, txtPassword, intUserID"
      If MM_fldUserAuthorization <> "" Then MM_rsUser.Source = MM_rsUser.Source & "," & MM_fldUserAuthorization
      MM_rsUser.Source = MM_rsUser.Source & " FROM tblUsers WHERE txtUsername='" & Replace(MM_valUsername,"'","''") &"' AND txtPassword='" & Replace(Request.Form("password"),"'","''") & "'"
      MM_rsUser.Open MM_rsUser.Source, cn, adOpenStatic, adLockReadOnly
 
      If Not MM_rsUser.EOF Or Not MM_rsUser.BOF Then
            ' username and password match - this is a valid user
            Response.Cookies("MM_Username") = MM_valUsername
            Response.Cookies("MM_UserID") = MM_rsUser("intUserID")
            
            'Response.cookies("MM_Username").expires = Date + 1
            'Response.cookies("MM_UserID").expires = Date + 1
 
            Response.Cookies("MM_Username").Expires = DateAdd("s", 120, now())
            Response.Cookies("MM_UserID").Expires = DateAdd("s", 120, now())
 
 
            If (MM_fldUserAuthorization <> "") Then
                  Response.Cookies("MM_UserAuthorization") = CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value)
            Else
                  Response.Cookies("MM_UserAuthorization") = ""
            End If
 
            if CStr(Request.QueryString("accessdenied")) <> "" And true Then
                  MM_redirectLoginSuccess = Request.QueryString("accessdenied")
            End If
            MM_rsUser.Close
            Response.Redirect(MM_redirectLoginSuccess)
      End If
      MM_rsUser.Close
      Response.Redirect(MM_redirectLoginFailed)
End If
%>

Open in new window

0
 
LVL 15

Expert Comment

by:dosth
ID: 21810874
can you tell mw what is the issue with your current code?
0
 
LVL 4

Author Comment

by:James Atkin
ID: 21810878
When it gets to the :

If MM_grantAccess Then
    Response.Cookies("MM_Username").Expires = DateAdd("s", 120, now())
    Response.Cookies("MM_UserID").Expires = DateAdd("s", 120, now())
End If

it fails with "ASP scripting compilation error: '80020009'" as above
0
 
LVL 15

Expert Comment

by:dosth
ID: 21810955
if you comment the cookies line, it is okay?

i see no issues with the code
0
 
LVL 4

Author Comment

by:James Atkin
ID: 21810979
It all works fine without that code, however the cookie expires after 3 minutes - even if the user is using the interface.

What I want is to update the expiry every time a user interacts with the interface, therefore it expires after 3 minutes of inactivity.
0
 
LVL 15

Accepted Solution

by:
dosth earned 2000 total points
ID: 21811184
If MM_grantAccess Then
    Response.Cookies("MM_Username") = Request.Cookies("MM_Username")
    Response.Cookies("MM_UserID")   = Request.Cookies("MM_UserID")
    Response.Cookies("MM_Username").Expires = DateAdd("s", 120, now())
    Response.Cookies("MM_UserID").Expires = DateAdd("s", 120, now())
End If
0
 
LVL 4

Author Closing Comment

by:James Atkin
ID: 31597259
Excellent! Thanks!!!
0
 
LVL 15

Expert Comment

by:dosth
ID: 21811309
thanks
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Hello, all! I just recently started using Microsoft's IIS 7.5 within Windows 7, as I just downloaded and installed the 90 day trial of Windows 7. (Got to love Microsoft for allowing 90 days) The main reason for downloading and testing Windows 7 is t…
I was asked about the differences between classic ASP and ASP.NET, so let me put them down here, for reference: Let's make the introductions... Classic ASP was launched by Microsoft in 1998 and dynamically generate web pages upon user interact…
In this video you will find out how to export Office 365 mailboxes using the built in eDiscovery tool. Bear in mind that although this method might be useful in some cases, using PST files as Office 365 backup is troublesome in a long run (more on t…
This lesson discusses how to use a Mainform + Subforms in Microsoft Access to find and enter data for payments on orders. The sample data comes from a custom shop that builds and sells movable storage structures that are delivered to your property. …

618 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question