<jsp:useBean id="conn1" scope="session" class="china3cts.SnCms" />
<%
conn1.Conn();
//访问IP
String Ip=request.getRemoteAddr();
//获取IP来源算法
String ip1,ip2,ip3,ip4;

int x=Ip.indexOf(".");
 ip1=Ip.substring(0,x);
 Ip=Ip.substring(x+1,Ip.length());

x=Ip.indexOf(".");
 ip2=Ip.substring(0,x);
 Ip=Ip.substring(x+1,Ip.length());

x=Ip.indexOf(".");
 ip3=Ip.substring(0,x);
 ip4=Ip.substring(x+1,Ip.length());

String Ipone=ip1;
String Iptwo=ip1+"."+ip2;
long IpOK;
IpOK=(long)Integer.valueOf(ip1).intValue()*256*256*256+Integer.valueOf(ip2).intValue()*256*256+Integer.valueOf(ip3).intValue()*256+Integer.valueOf(ip4).intValue();

String SIp="pp";
SIp=Long.toString(IpOK);
String sql="Select Top 1 country,city From sncms_ipaddress Where  ip1<="+SIp+" and ip2>="+SIp+" Order By ip1";
ResultSet rs=conn1.execute(sql) ;

String   country="地区不详";
String   city="地址不详";

if (rs.next())
{
country=rs.getString("country");
city=rs.getString("city");
}

if (city==null)
  city="";

//统计用IP
Ip=request.getRemoteAddr();
//来源
String Reffer=request.getHeader("Referer");
String RootPath=request.getRealPath("/") ;
String URI=request.getRequestURI() ;
String sPath=request.getQueryString() ;
//分割操作系统等信息
String userAgent="";
userAgent=request.getHeader("User-Agent");

String Browser = "unknown";
String os = "unknown";
//浏览器
Browser=userAgent.split(";")[1].trim();
os     =userAgent.split(";")[2].trim();
userAgent=userAgent.toLowerCase();
//操作系统
if (userAgent.indexOf("win") > -1)
{
 
if (userAgent.indexOf("windows nt 5.0") > -1 || userAgent.indexOf("winnt5.0") > -1)
{
  os = "Windows 2000";
}
if (userAgent.indexOf("windows nt 5.1") > -1 || userAgent.indexOf("winnt5.1") > -1)
{
  os = "Windows XP";
}
if (userAgent.indexOf("win16") > -1 || userAgent.indexOf("windows 3.") > -1)
{
  os = "Windows 3.x";
}
}
//统计用代理
userAgent=request.getHeader("User-Agent");

//out.print("IP:"+Ip+"<br>");
//out.print("Reffer:"+Reffer+"<br>");
//out.print("Browser:"+Browser+"<br>");
//out.print("Os:"+os+"<br>");
//out.print("UserAgent:"+userAgent+"<br>");
//out.print("Country:"+country+"<br>");
//out.print("City:"+city+"<br>");
//out.print("RootPath:"+RootPath+"<br>");
//out.print("URI:"+URI+"<br>");
//out.print("sPath:"+sPath+"<br>");
String Uid="test";
//插入数据库
String ISQL=null;
ISQL="insert into SnCms_Logs (Uid,sPat,Pge,ref,Ip,Adr,Bro,Os,Age) values ('"+Uid+"','"+sPath+"','"+URI+"','"+Reffer+"', ";
ISQL=ISQL+"'"+Ip+"','"+country+city+"','"+Browser+"','"+os+"','"+userAgent+"')";
conn1.update(ISQL);
%>

转载于:https://www.cnblogs.com/ddr888/archive/2006/10/13/528329.html

一段能用来统计ip访问的代码(自用)包括所在地相关推荐

  1. tomcat配置请求指定html文件路径,Tomcat8限制指定域名或者IP访问(示例代码)

    环境: Tomcat8.0.53 目标: 设置为使用指定的域名或者IP访问 1. 设置域名访问 1.1 打开Tomcat下conf目录的server.xml文件,找到以下信息 修改 Engine en ...

  2. shell统计ip访问情况并分析访问日志

    有日志 1.log,部分内容如下: 112.111.12.248 – [25/Sep/2013:16:08:31 +0800]formula-x.haotui.com"/seccode.ph ...

  3. linux 访客日志ip,shell统计ip访问情况,要求分析访问日志分析。

    [题目要求] 有日志 1.log,部分内容如下: 112.111.12.248 – [25/Sep/2013:16:08:31 +0800]formula-x.haotui.com "/se ...

  4. linux 访问日志ip排序,Linux通过日志文件统计IP访问次数排序

    假设我的日志文件内容如下: 218.92.217.53 - - [22/Nov/2017:17:26:27 +0800] "GET /images/rand HTTP/1.0" 2 ...

  5. ip访问次数统计 nginx_Linux分析Nginx日志统计IP访问次数的shell脚本

    平时运维遇到最多的就是nginx的日志分析了,要时常做系统监控,检查IP的访问次数是否有异常,防止恶意访问. 假设我的nginx日志如下: ....... 211.253.43.23 - - [03/ ...

  6. linux日志生成速率统计,Linux学习29-awk提取log日志信息,统计日志里面ip访问次数排序...

    前言 有一段log日志,需从日志里面分析,统计IP访问次数排序前10名,查看是否有异常攻击. 日志提取 如下日志,这段日志包含的信息内容较多,我们希望提取ip,访问时间,请求方式,访问路径(不带参数) ...

  7. SpringBoot后端统计网站的IP访问次数及地区

    项目是用SpringBoot+Vue实现,前后端分离的,前端是用nginx部署的,虽说可以通过Nginx的日志来统计网站的IP的访问次数,但想在前端用图形化的方式来展示是不太可行的,所以我想着是在Sp ...

  8. Python统计网站访问日志log中的IP信息,并排序。。

    Python统计网站访问日志log中的IP信息,并排序,打印排名靠前的IP及访问量.示例代码如下: #!/usr/bin/env pythonipdict = {}file = open(" ...

  9. 统计日志中ip访问次数并排序的三种方法

    1  利用linux中的awk命令 grep "GET aaa.log | awk -F " " '{print $NF}' >d:/test.log 假设日志的最 ...

最新文章

  1. 《C#精彩实例教程》小组阅读09 -- C#数组与集合
  2. Flume的Collector
  3. python tk 当输入数值错误是报错_Python的异常处理
  4. android-NDK-Opengl
  5. leetcode103. 二叉树的锯齿形层次遍历
  6. python爬虫中文乱码_解决Python爬虫处理文件时候中文名称出现乱码问题
  7. 计算机专业研究生应该如何规划,【图片】2020考研,老学长教你如何规划!【计算机考研吧】_百度贴吧...
  8. PHP文件下载过滤类
  9. 第四次博客作业:bookstore缺陷报告
  10. a.使用new关键字产生对象会调用构造方法_七夕面向对象编程,你知道Java有哪些创建对象的方式吗?...
  11. 《土豆荣耀》重构笔记(七)控制角色移动并添加音效
  12. mysql 并行操作_将MySQL去重操作优化到极致之三弹连发(二):多线程并行执行...
  13. MATLAB人脸识别算法
  14. 用编程器免拆夹子刷斐讯K2 K2P解决难搞固件 刷BREED 无损原EEPROM
  15. Apache NiFi 简介
  16. 【Linux】安装opencv4避坑指南
  17. 按键精灵---后台按键及鼠标操作
  18. excel冻结窗口怎么设置_Win7电脑窗口颜色怎么设置成护眼色?简单几步就能搞定...
  19. 跨平台的会员通 打通品牌任督二脉
  20. python递归函数例子_Python递归函数经典案例-汉诺塔问题

热门文章

  1. python : HTML+CSS (定时器轮寻)
  2. 天猫首页迷思之-jquery实现左侧广告牌图片轮播
  3. 轻松取得建表和索引的DDL语句
  4. C#中Socket通信用法实例详解
  5. 在服务器使用mysql_Linux服务器---使用mysql
  6. windows关闭svnserver_Windows停SVN服务的搭建和使用(二)-Win32Svn
  7. 反向传播算法(过程及公式推导)_一文讲透神经网络的反向传播,要点介绍与公式推导...
  8. log4cplus导致主进程不能退出问题解决
  9. android 多个handler,Android中的Handler与多线程应用实例
  10. HDU 2612 (两边一起)