防作弊很強的投票系統機制原始碼

來源:互聯網
上載者:User
原始碼|作弊|投票系統 這個是投票前一頁代碼。在此頁點擊投票。
<%
Response.Cookies("cook")="yes"
%>
以下是投票頁代碼
<%
if Request.Cookies("cook")<>"yes" then
response.write "<script language='javascript'>alert('cookies沒開啟無法進行投票');location.href='"&url&"';</script>"
else
method = request.servervariables("REQUEST_METHOD")
if method <>"POST" then
response.write "<script language='javascript'>alert('請通過正常方式投票');location.href='"&url&"';</script>"
else
url = request.ServerVariables("HTTP_REFERER")'擷取上頁地址
Dim regEx, retVal         
  Set regEx = New RegExp
  regEx.Pattern = "^http://([^/]*.)?chinabbs.com/[\s\S]*$"
  regEx.IgnoreCase = True
  retVal = regEx.Test(url)
   if retVal then
id = request.querystring("id")'擷取使用者id
userip = Request.ServerVariables("REMOTE_ADDR")'記錄投票使用者ip
set rs=server.createobject("adodb.recordset")'建立記錄集  
sql = "select * from vote where userip='"&userip&"'and DateDiff('h',datestr,now)<3"
rs.open sql,conn,2,2
if not(rs.bof and rs.eof) then
response.write "<script language='javascript'>"
response.write "alert('對不起!每隔3個小時才能再次投票!');"
Response.Write "javascript:history.back(-1);</script>"
else'否則資料庫沒有目前使用者ip並且投票時間未超過3小時的話
rs.close
if request.cookies("i")<>1 then
if session("i")<>1 then
datestr=now()'把擷取當前系統日期值付給datestr變數
sessionid = session.sessionid
sql = "insert into vote(username,userip,datestr,sessionid)values('"&id&"','"&userip&"','"&datestr&"','"&sessionid&"')"
conn.execute sql
sql = "update proid set hits = hits + 1 where userid='"&id&"'"
conn.execute sql
session("i")=1
response.Cookies("i")=1
Response.Cookies("i").expires=DateAdd("h",3,now())
end if
end if
response.write "<script language='javascript'>"
response.write "alert('恭喜你!投票成功!');location.href='"&url&"';</script>"
end if
else
response.write "<script language='javascript'>alert('請通過正常方式投票');location.href='"&url&"';</script>"
end if
end if
end if
%>
Post方式傳遞參數,站內投票,ip記錄判斷,session判斷,cookies判斷。
如果重啟貓,改變ip,沒有關閉瀏覽器。那麼session判斷不讓投票。
如果重啟貓,改變ip,關閉瀏覽器,禁用cookies,那麼不讓投票。
如果重啟貓,改變ip,關閉瀏覽器,刪除cookies,開啟瀏覽器,會是什麼結果呢??????怎麼辦呀。。。。。。。。。

相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。