编写“公平”的ASP图形计数器

“技术天地”中的《编写ASP图形计数器》一文,详细的说明了如何利用流行的ASP来编写计数器。但是,美中不足的是,如果某个用户反复点击“刷新”按钮,那么计数器还是要不断的增加的,这对网站点击率评比来说是不公平的,也失去了计数器做为正常统计功能的作用。如何在技术上避免这种情况的发生呢?
我认为要防止上网用户连续按下“刷新”计数器也连续增加的问题,最好的办法就是利用ASP的Session对象,我们可以借助Session对象首先判断该用户是否为新连接者,如果是,那么

IsEmpty(Session("hasbeenConnected"))=True,也就是说,Session("hasbeenConnected")是空的。那么,运行程序,使计数器加1,然后将该用户的Session("hasbeenConnected")设置为True,也就是说,这个用户已经不是新的连接者,无论他怎么连续按下“刷新”按钮,计数器也不会再增加。

结合《编写ASP图形计数器》一文,最后的站点计数器的源程序应该是:

<html>
<head>
……
</head>
<body>
<%dim tms,counter,countlen
dim images(20)
h1="<p><font color='#8000ff'>这是一个ASP计数器</font></p>"
If IsEmpty(Session("hasbeenConnected")) then
set rs=server.createobject("adodb.recordset")
application.lock
rs.open "update aspcount set countss=countss+1","dsn=userdbs",3,3
application.unlock
Session("hasbeenConnected")=True
End If
set rs=server.createobject("adodb.recordset")
rs.open "select * from aspcount","dsn=userdbs",3,3
rs.movefirst
counter=rs(0)
countlen=len(counter)
tms="<h1><font color='#8000ff'>您是第</font>"&&counter&&"<font color='#8000ff'>位访问者!</font></h1>"
response.write(tms)
for i=1 to countlen
images(i)="<img src=" && mid(counter,i,1) && ".gif></img>"
next
response.write images(1)&&images(2)&&images(3)&&images(4)&&images(5)&&images(6)&&images(7)
rs.Close
%>
</body>
</html>

时间: 2025-01-05 04:56:28

编写“公平”的ASP图形计数器的相关文章

ASP图形计数器设计详解

计数器|设计|图形|详解 这里介绍一种不用CGI而设计出的漂亮的图形计数器.这里分为三部分:1,建立图形文件. 2,建立数据库. 3,编写代码.1,建立图形文件. 首先,用做图软件制作10个图形,用于显示计数器的十个数字:1,2,3,4,5,6,7,8,9,0.如果你有美术才能,还能做出更好的图形.2,建立数据库. 用建立一个数据库,名字为.数据库包含一个表,名字为,结构为:整数,有一条记录,初始值为0.用于存放上一次访问本页面的次数.3,编写代码.------number.asp-------

文本型单页面ASP.NET计数器

asp.net|计数器|页面 看到一个非常简单的计数器,也许会很有用 前面我介绍了system.io空间下的文件操作对象,这里我讲解一下如何制作应用于特定页面的计数器.每个计数器都需要一个相应的文件来存储当前的访问量,那么如何建立用来技术的文件.如何对技术文件进行读写以及如何显示当前访问量是我们需要解决的问题. 首先 获取技术文件 因为是单页面计数器,并不应用于特定页面,所以必须能根据当前页面的不同而获取或者生成不同的技术文件.最好把技术文件和页面起相同的名字起不同的扩展名. 我们把获取计数器文

编写通用的asp防注入程序_应用技巧

编写通用的asp防注入程序     选择自 ph4studio 的 Blog   关键字   编写通用的asp防注入程序  出处      sql注入被那些菜鸟级别的所谓黑客高手玩出了滋味,,发现现在大部分黑客入侵都是基于sql注入实现的  ,哎,,谁让这个入门容易呢,好了,,不说废话了,,现在我开始说如果编写通用的sql防注入程序  一般的http请求不外乎 get 和 post,所以只要我们在文件中过滤所有post或者get请求中的参数信息中  非法字符即可,所以我们实现http 请求信息过

Insight一个Tcl/Tk编写的gdb的图形用户接口

Insight是一个Tcl/Tk编写的gdb的图形http://www.aliyun.com/zixun/aggregation/18676.html">用户接口,它是由在Red hat以及Cygnus的工程师写的.Red hat大方的将其捐赠给大众使用,甚至不时的提供人力继续完善它的功能.Insight项目始于1994年,至今已经有颇为成熟,它能很好的发挥大部分gdb的强大功能. 编写这个词条的目的,不是为了真的怎样教大家使用这个软件,因为这个软件已经相当的完善,不需要介绍就能轻松上手,

PHP图形计数器程序显示网站用户浏览量_php实例

PHP图形计数器程序是一款简单的图片计数器,为了直观显示一个网站有多少用户浏览,需要在网页底部放一个图片计数器,也就是当前页面的访问量,访问量的数据是保存在 txt 文件里,可自动生成 num.txt 文件,自定义初始数据,显示的数字图片保存在 img 目录下,可以换成自己做的精美的图片,更换即可,index.php是调用文件,很简单. 本程序只有几十KB,系统代码设计简单易懂. 效果如下: 关于程序的安装很简单: 1.这款图形计数器不需要数据库的支持,只要能运行PHP即可,将index.php

一个简单的图形计数器,需要MYSQL,GD的支持,LINUX下PHP4RC1通过

mysql|计数器|图形 <?php/***hit_count表只一个字段hit_countpage_visit_record表是用来控制一个IP一天内只产生一个计数器跳动CREATE TABLE page_visit_record (   visit_time datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,   remote_addr char(15) NOT NULL,   visit_page char(60) NOT NULL,   KE

编写安全的ASP代码

安全|安全 ASP中数据库的安全是一个很严肃的问题.很多代码的编写者意识到了这类问题,并且小心翼翼地对他们认为有问题的地方做了补救,但常见的情况是要么没有穷尽所有的可疑地点,要么这种补救逻辑上有误.对于一个耐心且嗅觉灵敏的攻击者来说,这种意义上的补救措施和没有任何补救措施没有本质上区别.    下面罗列的是一些可能出现的问题:有些是常见易犯的错误,有些根本就是逻辑上有问题.看看你是不是也这样写过?对于攻击者而言,倒着看这些东西,应该对寻找漏洞有点帮助,更为完整一点的检测方法,请等我的关于黑/白盒

编写通用的asp防注入程序

程序|防注入|防注入 sql注入被那些菜鸟级别的所谓黑客高手玩出了滋味,,发现现在大部分黑客入侵都是基于sql注入实现的 ,哎,,谁让这个入门容易呢,好了,,不说废话了,,现在我开始说如果编写通用的sql防注入程序 一般的http请求不外乎 get 和 post,所以只要我们在文件中过滤所有post或者get请求中的参数信息中 非法字符即可,所以我们实现http 请求信息过滤就可以判断是是否受到sql注入攻击. iis传递给asp.dll的get 请求是是以字符串的形式,,当 传递给Reques

编写通用的asp防注入程序 选择自 ph4studio 的 Blog

程序|防注入|防注入 sql注入被那些菜鸟级别的所谓黑客高手玩出了滋味,,发现现在大部分黑客入侵都是基于sql注入实现的 ,哎,,谁让这个入门容易呢,好了,,不说废话了,,现在我开始说如果编写通用的sql防注入程序 一般的http请求不外乎 get 和 post,所以只要我们在文件中过滤所有post或者get请求中的参数信息中 非法字符即可,所以我们实现http 请求信息过滤就可以判断是是否受到sql注入攻击. iis传递给asp.dll的get 请求是是以字符串的形式,,当 传递给Reques