如何防止网上投票重复投票(2)_ASP教程
教程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教程:
- 相关链接:
- 教程说明:
ASP教程-如何防止网上投票重复投票(2)。