使用客户机端Cookie也很容易。完成这一工作的代码可以放在一个ASP #include 文件中,然后将它插入到站点中用户肯定会去访问的主页面中。当然,如果愿意的话可以将其插入所有的页面。只要在用户访问的过程中它工作正常,就能给出正确的结果。
设置了路径和日志文件名之后,代码定义一个子程序,将一个值附加到日志文件的,就象前面的“ASP Sessions”的例子一样。如果你愿意的话,可以取代我们使用的代码来更新一个数据库表而不是一个日志文件。
< %
'measure visit length with cookie
'set path and name of log file to be created
'edit to suit your own machine directory layout
'remember to give the directory write or full
'control permission for the iusr_machine account
strfilename ="" "c:\temp\visit_lengths.txt"
sub updatelogfile(intvisitlength)
on error resume next
if intvisitlength > 0 Then
'got a valid time so enter it into a log file
strInfo = "Session ending at " &#38; Now() _
&#38; " lasted for " &#38; CStr(intVisitLength) &#38; " minute(s)."
'add user name to the log entry string here if required
'strInfo = strInfo &#38; " User name: " &#38; strUserName
Set objFileObject = Server.CreateObject("Scripting.FileSystemObject")
'open text file to append data (the ForAppending constant = 8)
Set objFile = objFileObject.OpenTextFile(strFileName, 8, True)
objFile.WriteLine strInfo
objFile.Close
Set objFile = Nothing
Set objFileObject = Nothing
End If
End Sub
<ccid_nobr><strong>读一个存在的Cookie</strong></ccid_nobr>
现在我们可以进行实质性的工作了。代码的其余部分检查是否有一个现存的Cookie供这个用户使用,如果有的话就确认它包含有效的日期和时间(我们检查它必须是一个1990年之后的日期)。如果cookie是有效的,它随后检查自从这个用户装载最后一页(也就是他们执行这个代码的最后一次)是否已经过了30分钟以上。如果已经超过了30分钟,我们就把它算做一个新的访问,你可以根据你的站点和需求来修改这个值。
...
上一页 [1] [2] [3] [4] [5] 下一页 |