ASP网页设计防做弊很强的投票体系机制源代码
对于中小型web应用来说,php有很强的竞争力,linux+apache+mysql+php(lamp)的组合几乎可以胜任绝大多数网站的解决方案,对于大型应用来讲,对于系统架构要求更高,需要有成熟的框架支持,jsp的struts是个不错的框架,国内介绍它的资料也非常多,应用逐渐广泛起来。asp就不用说了,源代码|做弊|投票体系 这个是投票前一页代码。在此页点击投票。<%
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,翻开阅读器,会是甚么了局呢??????怎样办呀。。。。。。。。。使用filesystemobject,可以对服务器上的文件进行操作,浏览、复制、移动、删除等。有ado的支持,asp对数据库的操作非常得心应手。你甚至可以像使用本地数据库那样,管理远程主机上的数据库,对表格、记录进行各种操作。 兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的 下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助... 我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。 完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。 尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。 接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。 我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。 Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名") 用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。 我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标. 封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。 从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了 兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。 ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。 Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
页:
[1]