改进的IP计数器

<?  
//require ('common.inc');  
$arr_request=array();  
if (count($HTTP_GET_VARS))  
    {  
    while (list($key,$value)=each($HTTP_GET_VARS))  
    {  
        $arr_request[strtolower($key)]=$value;  
    }  
}  
if (count($HTTP_POST_VARS))  
{  
    WHILE (list($key,$value)=each($HTTP_POST_VARS))  
    {  
        $arr_request[strtolower($key)]=$value;  
    }  
}  
$link=@mysql_connect("localhost","kong","kong");  
mysql_select_db("mywebdb");
$ip=$REMOTE_ADDR;  
$current=getdate(time());  
$day=$current["mday"];  
$query="select * from addcount where day=\"$day\"";
$result=@mysql_query($query);
if(!$num=@mysql_num_rows($result))
    $num=1;
while($row=@mysql_fetch_row($result))
{  
    if (strcmp($ip,$row[1])==0)  
    {  
        $i=1;
        $id=$row[0];
        $click=$row[3]+1;
        $up="update addcount set click_count=click_count+1 where id=$id";  
        $result2=@mysql_query($up);
//        break;
    }  
    $total+=$row[3];
}  
$total++;
if(!$i){
    $query1="insert into addcount (ip,day,click_count )values ('$ip','$day',1)";  
    mysql_db_query("mywebdb",$query1,$link);  
    $click=1;
}
echo "<html><head><title>计数器</title></head>";
    echo "你是第" .$num."访问者<BR>";
    echo "今天你第".$click."次点击<BR>";
    echo "今天总点击".$total."次<BR>";

/*
表:  
addcount  
CREATE TABLE addcount (
   id int(6) DEFAULT '0' NOT NULL auto_increment,
   ip char(20) NOT NULL,
   day int(2) NOT NULL,
   click_count int(3) NOT NULL,
   PRIMARY KEY (id)
);
*/
?>

(0)

相关推荐

  • 改进的IP计数器

    <?  //require ('common.inc');  $arr_request=array();  if (count($HTTP_GET_VARS))      {      while (list($key,$value)=each($HTTP_GET_VARS))      {          $arr_request[strtolower($key)]=$value;      }  }  if (count($HTTP_POST_VARS))  {      WHILE (l

  • 详解Linux使用ss命令结合zabbix对socket做监控

    前言 这里我们使用zabbix对其进行监控,使用的是ss命令,不使用netstat命令,因为ss的速度快很多,不信的话可以去测一下哈,一台机器的socket越多,对比越明显.而且ss命令能显示更多的内容,其实我对这两个命令不是特别的熟悉,通过man ss可以看到: 一.ss命令 ss命令用于显示socket状态. 他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain socket

  • IP攻击升级,程序改进以对付新的攻击

    不过最近几天突然糟糕了起来,有90%的攻击已经没法拦截,请看下图一天的统计: IP攻击及开始时间 攻击次数 地点 备注 125.165.1.42--2010-11-19 02:02:19--/ 10 印度尼西亚 125.165.26.186--2010-11-19 16:56:45--/ 1846 印度尼西亚 151.51.238.254--2010-11-19 09:32:40--/ 4581 意大利 151.76.40.182--2010-11-19 11:58:37--/ 4763 意大利

  • 利用python爬取软考试题之ip自动代理

    前言 最近有个软件专业等级考试,以下简称软考,为了更好的复习备考,我打算抓取www.rkpass.cn网上的软考试题. 首先讲述一下我爬取软考试题的故(keng)事(shi).现在我已经能自动抓取某一个模块的所有题目了,如下图: 目前可以将信息系统监理师的30条试题记录全部抓取下来,结果如下图所示: 抓取下来的内容图片: 虽然可以将部分信息抓取下来,但是代码的质量并不高,以抓取信息系统监理师为例,因为目标明确,各项参数清晰,为了追求能在短时间内抓取到试卷信息,所以并没有做异常处理,昨天晚上填了很

  • tcp、udp、ip协议分析_动力节点Java学院整理

    互连网早期的时候,主机间的互连使用的是NCP协议.这种协议本身有很多缺陷,如:不能互连不同的主机,不能互连不同的操作系统,没有纠错功能.为了改善这种缺点,大牛弄出了TCP/IP协议.现在几乎所有的操作系统都实现了TCP/IP协议栈. TCP/IP协议栈主要分为四层:应用层.传输层.网络层.数据链路层,每层都有相应的协议,如下图 所谓的协议就是双方进行数据传输的一种格式.整个网络中使用的协议有很多,所幸的是每一种协议都有RFC文档.在这里只对IP.TCP.UDP协议头做一个分析. 首先来看看在网络

  • Windows下通过bat获取网络连线实际名称,加强IP类设置脚本的兼容性

    其中比较难解决的问题就是获取网络连线的实际名称,大部分人使用的IP设置脚本都是将[本地连接]写死在代码中,可实际上并不是所有电脑都叫本地连接:比如有的用户电脑可能升级了网卡驱动,或者更换了网卡,导致网络连线的名称变成"本地连接2",又比如有无聊好事者(某产线的作业员电脑),将网络连线的名称各种DIY,我就见过一个修改成"操蛋的青春",瞬间无语! 好了,废话不多说,直接上菜! 对于网络连线的实际名称,可能出现的情况有: 1.网卡更换/驱动升级导致名称变更,比如本地连接

  • MySQL中实现高性能高并发计数器方案(例如文章点击数)

    现在有很多的项目,对计数器的实现甚是随意,比如在实现网站文章点击数的时候,是这么设计数据表的,如:"article_id, article_name, article_content, article_author, article_view--在article_view中记录该文章的浏览量.诈一看似乎没有问题.对于小站,比如本博客,就是这么做的,因为小菜的博客难道会涉及并发问题吗?答案显而易见,一天没多少IP,而且以后不会很大. 言归正传,对文章资讯类为主的项目,在浏览一个页面的时候不但要进行

  • Redis的使用模式之计数器模式实例

    Redis 是目前 NoSQL 领域的当红炸子鸡,它象一把瑞士军刀,小巧.锋利.实用,特别适合解决一些使用传统关系数据库难以解决的问题.打算写一系列 Redis 使用模式的文章,深入总结介绍 Redis 常见的使用模式,以供大家参考. 常见汇总计数器 汇总计数是系统常见功能,比如网站通常需要统计注册用户数,网站总浏览次数等等. 使用 Redis 提供的基本数据类型就能实现汇总计数器,通过 incr 命令实现增加操作. 比如注册用户数,基本操作命令如下: 复制代码 代码如下: # 获取注册用户数

  • ASP.NET环境下为网站增加IP过滤功能第1/2页

    1. 需求分析 通过深入的交流和沟通,确认了该发电厂在企业网站用户访问控制方面的改进要求,大致情况如下: a) 网站基于Asp.Net2.0实现,不允许修改源程序 b) 厂内用户可直接访问整个站点的所有页面,员工不需要身份验证 c) 厂外用户只能访问指定的页面 显而易见,他们就是针对企业网站增加一项IP过滤功能,在厂外用户访问某些敏感页面时将其拒之门外.首先我们需要设置一个IP列表和一个Url列表,前者包含所有厂内IP,后者包含厂外用户可访问的全部Url,并且这两个列表都是可维护的:另外一个核心

  • 计数器详细设计

    概述: 此设计可以在本计数器基础之上设计计数分析程序,可以对页面访问.ip访问次数进行分析,并形成报表. 一.数据库设计 数据库采用mysql 相关文件:    createDatabase.sql        创建数据库             createTblCounter.sql    创建计数器表 表名:tpCounter(table of pages counter) 字段: 名称    类型    意义 id    Int (10) auto_increment    序列号 p

随机推荐