奇趣技术网 收藏本站
设为主页
商务合作
首页 新闻中心 行业动态 软件新闻 安全资讯 病毒预警 漏洞发布 操作系统 Dos Win9x Win2000 WinXP Win2003 WinVista Linux Unix
数据库 DB2 Access MSSQL MySQL Oracle Sybase 编程技术 ASP PHP JSP CGI/Perl XML .Net C/C++/C# VB VC Delphi Java 汇编
安全技术 安全教学 工具介绍 漏洞利用 病毒防范 入侵检测 防火墙 安全防范 汉化破解 攻击实例 加密解密 技术论坛
中华网络安全联盟 >> 程序开发 >> Perl >> 用Perl制作页面计数器
程序开发
Asp
PHP
JSP
CGI/Perl
XML
.Net
C/C++/C#
Visual Basic
Visual C++
Delphi
Java
汇编语言
  • LB5000XP论坛配合SERV

  • 获取随机的由大小写字

  • Perl操作Mysql数据库

  • Perl在NT下的快速简便

  • 用Perl语句来代替常用

  • 用 perl 实现文件上传

  • perl 域名查询程序

  • 在Linux下访问MS SQL 

  • 用Perl制作页面计数器
    字体:

    中华网络安全联盟    作者:佚名    来源:网络转载    时间:2006-3-21


      网友大都喜欢在自己的主页上做一个计数器来显示自己主页被访问的次数。以前我们只能申请由第三方提供的计数器或用由系统管理员提供的计数器,受到很大限制。现在许多免费空间都提供了CGI权限,因此我们也可以用CGI方式实现一个自己的计数器。

      计数器可以用数据库方式实现,也可以用文本文件方式实现。由于文本文件方式不涉及系统的数据库管理系统,相对简单,容易实现,因此,在这里介绍文本方式的计数器。

      计数器的原理比较简单,页面每次被访问的时候,对记录访问次数的数字加1,然后将这个数显示出来。原理虽然简单,在具体实现上还是需要一定的技巧。

      由于一个CGI程序在服务器上并非一直驻留在内存中,为了对访问次数进行计数,则需要把这个数字存入一个文件中,每当主页被访问时,打开该文件将访问数字加1后再存入文件中。

      网站是多用户环境,在访问文件时必须对文件上锁以禁止其他用户对文件的访问,这样才能保证数据的可靠性。然而不同网站使用的操作系统不同,其对文件上锁的机制也不同。本文采用了一种各种平台都适用的方法,每当有页面被访问时,CGI程序创建一个临时文件,此时若有其它进程也要对文件进行存取则须等待,进程对文件更新后删除该临时文件,等待的进程才能对文件进行存取。

      下面是用Perl实现的一个计数器源代码,并加注了注释:

    #!/usr/local/bin/perl
    #存贮表示主页访问量数字的文件
    $data = '/usr/local/etc/httpd/htdocs/counter.data';
    #用作文件锁的临时文件
    $lockfile = '/usr/local/etc/httpd/htdocs/counter.LOCK';
    # 主模块
    &increment;
    print "Content-Type: text/html\n\n";
    print $accesses;
    sub increment {
    # 检查临时文件是否存在
    while (-e $lockfile) {
    sleep 2; # 存在则等待2秒
    }
    # 创建临时文件
    open(LOCK," >$lockfile") || die
    "Can't create lockfile.\n";
    # 读文件并更新数据
    open(DATA,$data) || die "Can't open data file.\n";
    $accesses = < DATA >;
    $accesses++;
    print DATA "$accesses\n";
    close(DATA);
    # 删除临时文件,对数据文件开锁
      close(LOCK);
    unlink($lockfile);
    }
       你可以在页面上需要显示计数器的地方加上下面的HTML代码,页面被访问的时候,来访者就可以知道自己是第几位来访者了。
    < html > < head >
    < title >Home Page< /title >
    < /head >
    < body >
    < h1 >Home Page< /h1 >
    < p >欢迎您!第
    < !--#exec cgi="/cgi-bin/text-counter.cgi" >
    位来访者.< /p >
    < /body > < /html >

      只要掌握了计数器的原理,就可以设计出称心如意的计数器,使你的主页更有吸引力。

    字体:
     
    设为主页 收藏本站 联系我们 友情连接 商务合作 网友留言
    Copyright©2006-2008 中华网络安全联盟 All rights reserved.