如何防止网上投票重复投票(2)_ASP教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:详解Asp函数
Cbool(string) 转换为布尔值 Cbyte(string) 转换为字节类型的值 Ccur(string) 转换为货币类值 Cdate(string) 转换为日前类型的值 Cdbl(string) 转换为双精度值 Cint(string) 转换为整数值 Clng(string) 转换为长整型的值 Csng(string) 转换为单精度的值 Cstr(


< % 
Function IsCookiesOpen() 
Dim ClientIP, URL, QueryString, IsNew 
 
Application.Lock 
If Session(“SessionID")=Session.SessionID Then  
IsCookiesOpen = True 
ClearApp 
Exit Function 
End If 
 
IsNew = False 
If Session(“SessionID") = Empty Then 
CurrentIP =Request.ServerVariables 
(“REMOTE_ADDR") 
If CurrentIP <> Application(“IP") Then 
ClearApp 
IsNew = True 
End If 
End If 
If Not IsNew And Application(“Visit") >= 1 Then 
IsCookiesOpen = False 
ClearApp 
Exit Function 
End If 
Application(“Visit") = Application(“Visit") + 1 
Application(“IP") =Request.ServerVariables 
(“REMOTE_ADDR") 
Session(“SessionID") = Session.SessionID 
 
URL =“_page_=”&Request.ServerVariables 
(“PATH_INFO") 
QueryString=Request.ServerVariables 
(“QUERY_STRING") 
If Len(QueryString) > 0 Then URL = URL & “&" & QueryString 
If Not Response.IsClientConnected Then ClearApp 
End Function 
 
Sub ClearApp() 
Application(“Visit") = 0 
Application(“IP") = “" 
End Sub 
% > 
 
在.asp文件中直接用IsCookiesOpen()函数来判定 Cookies是否打开。  
 
此种方法的漏洞:如果再打开一个新浏览器窗口,会发现在新打开的浏览器窗口中仍然可以投票。这是因为Session是私有的,一个Session中变量的改变并不影响另一个Session的同名变量的值。为了解决这个问题,下面给出方法二。 

分享:解析用ADO连接各种数据库的代码
简单介绍一下几种ADO连接方式:ODBCDSN,ODBCDSN-Less, OLEDBProvider,和MSRemoteProvider. 1。ODBCDSN连接 I.DSN oConn.OpenDSN=AdvWorks;_ UID=Admin;_ PWD=; 注意:从MDAC2.1开始就不能够在使用这样的方式了,就是只把DSN文件名放在ConnectString中

来源:模板无忧//所属分类:ASP教程/更新时间:2010-03-18
相关ASP教程