- 浏览: 304678 次
文章分类
最新评论
-
流年末年:
那四个参数还是没看懂.....能不能解释下showPassst ...
我写的密码强度验证方法(原创) -
kingcs2008:
// 验证pws.jsshowPassstrength(&qu ...
我写的密码强度验证方法(原创) -
h957355152:
请问博主这个怎么用呢?我直接放到jsp里面调用showPass ...
我写的密码强度验证方法(原创) -
qq_15138059:
我写的全国省市县三级联动菜单,拿出来和大家分享了(原创) -
valenon:
评论呢?从MAIL FROM命令开始貌似就出错了:500 Er ...
如何发送伪造的电子邮件
这是我整理的一个ip地址查询数据库,希望能对大家有点帮助,我已经在我的项目里用了。
经过测试,在我的机器上查询一个ip大约耗时0.016秒,查询结果与ip138大部分一致
使用方法:
1.导入下面的sql脚本(本人是从mysql导出来的)
2.参照下面程序中得search方法,数据库相关参数记得改成你自己的,加上驱动包
经过测试,在我的机器上查询一个ip大约耗时0.016秒,查询结果与ip138大部分一致
使用方法:
1.导入下面的sql脚本(本人是从mysql导出来的)
2.参照下面程序中得search方法,数据库相关参数记得改成你自己的,加上驱动包
import java.io.*; import java.sql.*; import java.util.HashMap; import java.util.Map; import java.util.Random; public class Test { private static Connection conn; private static String driver = "com.mysql.jdbc.Driver"; private static String ulr = "jdbc:mysql://数据库ip:3306/数据库名"; private static String username = "数据库用户名"; private static String pwd = "数据库密码"; static { try { Class.forName(driver); conn = DriverManager.getConnection(ulr, username, pwd); conn.setAutoCommit(false); } catch (ClassNotFoundException e) { e.printStackTrace(); System.exit(-1); } catch (SQLException e) { e.printStackTrace(); System.exit(-1); } } /** * @param args * @throws IOException * @throws SQLException */ public static void main(String[] args) throws IOException, SQLException { for (int i = 0; i < 50; i++) { testSearch(); } } private static void testSearch() throws SQLException { String ip = getRandIp(); String[] array = search(ip); if (array == null || array.length == 0) System.out.println("ip=" + ip + ",返回结果:null,null"); if (array.length == 1) System.out.println("ip=" + ip + ",返回结果:" + array[0] + ",null"); if (array.length == 2) System.out.println("ip=" + ip + ",返回结果:" + array[0] + "," + array[1]); } /** * 搜索ip地址所在城市的方法 * @param ip * @return * @throws SQLException */ private static String[] search(String ip) throws SQLException { long ipLong = parseLong(ip); String sql = "select * from ip_address where min_ip<=? order by min_ip desc LIMIT 1;"; PreparedStatement ps = conn.prepareStatement(sql); ps.setLong(1, ipLong); ResultSet rs = ps.executeQuery(); Map<String, Object> minMap = null; if (rs.next()) { minMap = new HashMap<String, Object>(); minMap.put("min_ip", rs.getLong("min_ip")); minMap.put("max_ip", rs.getLong("max_ip")); minMap.put("city", rs.getString("city")); minMap.put("line", rs.getString("line")); } rs.close(); ps.close(); sql = "select * from ip_address where max_ip<=? order by max_ip desc LIMIT 1;"; ps = conn.prepareStatement(sql); ps.setLong(1, ipLong); rs = ps.executeQuery(); Map<String, Object> maxMap = null; if (rs.next()) { maxMap = new HashMap<String, Object>(); maxMap.put("min_ip", rs.getLong("min_ip")); maxMap.put("max_ip", rs.getLong("max_ip")); maxMap.put("city", rs.getString("city")); maxMap.put("line", rs.getString("line")); } rs.close(); ps.close(); if (minMap == null && maxMap == null) return null; else if (minMap == null && maxMap != null) return new String[] { getProperty(maxMap, "city"), getProperty(maxMap, "line") }; else if (minMap != null && maxMap == null) return new String[] { getProperty(minMap, "city"), getProperty(minMap, "line") }; else if (minMap != null && maxMap != null) { long min_ip = Long.parseLong(minMap.get("min_ip").toString()); long max_ip = Long.parseLong(maxMap.get("max_ip").toString()); if (Math.abs(min_ip - ipLong) <= Math.abs(max_ip - ipLong)) return new String[] { getProperty(minMap, "city"), getProperty(minMap, "line") }; else return new String[] { getProperty(maxMap, "city"), getProperty(maxMap, "line") }; } else return null; } private static String getProperty(Map<String, Object> map, String key) { Object value = map.get(key); return value == null ? null : value.toString(); } private static String getRandIp() { Random random = new Random(); return random.nextInt(256) + "." + random.nextInt(256) + "." + random.nextInt(256) + "." + random.nextInt(256); } private static long parseLong(String ipStr) { String[] ipArray = ipStr.split("\\."); long sum = 0; final long[] weights = { 256 * 256 * 256, 256 * 256, 256, 1 }; for (int i = 0; i < 4; i++) { if (ipArray[i].trim().length() == 0) return -1; if (!ipArray[i].matches("^\\d+$")) return -1; int n = Integer.parseInt(ipArray[i]); if (n > 255) n = 255; if (n < 0) n = 0; sum += weights[i] * n; } return sum; } }
- 世界ip数据表.rar (5.1 MB)
- 下载次数: 119
发表评论
-
java正则表达式高级用法:转换驼峰标示
2012-06-26 16:47 5803String source = "LastLog ... -
你会做Web上的用户登录功能吗?(转)
2012-06-25 13:22 1374Web上的用户登录功能应 ... -
使用pager-taglib.jar实现的分页技术
2012-06-24 02:34 933//1.导入pager-taglib.jar包; / ... -
我写的验证码生成方案,可防止绝大多数机械识别。
2012-06-20 14:59 2408web.xml <!DOCTYPE web-app ... -
如何在myeclipse中使用maven?
2012-06-11 14:22 168431.下载maven,解压到D盘ma ... -
安装subclipse, MyEclipse8 SVN插件
2012-06-09 22:39 962安装subclipse, MyEclipse8 SVN插件 ... -
PDF生成器
2012-05-28 02:53 851我自己写的一个pdf生成器,能导出百度博客为PDF -
我的自动投票器
2012-04-17 13:58 1300自动投票器,支持windows的32位机器 下面的压缩包是编 ... -
list,set,map,数组间的相互转换(转载)
2012-03-16 16:29 28621.list转set Java代码 ... -
一个给pojo生成hashcode、equals、toString等方法的工具类
2012-03-06 09:52 4256一个给pojo生成hashcode、equals、toStri ... -
ehcache的用法
2012-02-13 22:13 0Spring ... -
使用ehcache来缓存页面
2012-02-13 22:08 811关于缓存的话题,在坛子里已经有很多讨论,简单的来说,如果一个应 ... -
java笔记:自己动手写javaEE框架(二)--业务层Service以及Service单元测试
2012-02-13 00:55 0前一篇博文里有三 ... -
struts+spring+hibernate的web应用<四> Web层代码编写(2)
2012-02-13 00:50 0接着就是写资源文件了。 在 com.game. ... -
struts+spring+hibernate的web应用<四> Web层代码编写(1)
2012-02-13 00:49 1047前面的文章: ... -
struts+spring+hibernate的web应用<三> Service层代码编写
2012-02-13 00:46 868前面的文章: ... -
struts+spring+hibernate的web应用<二> Dao层代码编写
2012-02-13 00:45 864前一篇文章 (struts+spring ... -
struts+spring+hibernate的web应用<一> 架构搭建
2012-02-13 00:44 779许久没有些文章了,现 ... -
ehcache缓存管理
2012-02-12 23:52 1003EHCache 是一个纯java的,在Hibernate2 ... -
检测一个字符串是否在jvm的常量池中(原创)
2012-01-11 09:07 2160检测一个字符串是否在jvm的常量池中 public ...
相关推荐
它通过对接大规模的IP地址数据库,实现了用户输入IP地址后即时展示对应地理位置的功能。开发这样的工具需要掌握网络协议、数据库操作、地理信息系统(GIS)等相关知识,同时也需要关注数据隐私和合规性问题,因为...
"纯真IP查询系统"可能利用了一个包含IP地址数据的数据库,比如“纯真IP库”,这个库通常包含了全球IP地址的分配信息,包括国家、地区、城市等详细地理信息。 在实际应用中,当用户访问网站时,系统会捕获用户的IP...
在提供的"数据库连接及部分操作.e"文件中,包含了实现这些功能的具体代码。 连接数据库的过程通常包括以下几个步骤: 1. 导入必要的模块:在易语言中,我们需要导入包含数据库连接功能的模块,如"精易模块"。 2. ...
QQWryLocation IP地址信息的实体类 本代码包下载分是 5 分,有点高了,呵呵~~~ 但保证绝对是作者原创作品,物有所值,绝对不是从网上随便找点东西骗分哦,请支持。 如果代码中存在 BUG 请反馈于 panxiaofeng@126....
【标题】:“[工具查询]原创php+mysql动态签名程序_iplogo.zip”指的是一个使用PHP编程语言和MySQL数据库系统开发的动态签名生成程序。这个程序可能用于网站或应用程序,为用户提供自定义或随机生成的签名图像,从而...
【IP操作】标签暗示系统可能包含网络通信功能,比如自动获取或分配IP地址,以便于管理和监控实验机房中的设备。这可能是通过C#的System.Net命名空间实现的,它提供了一系列的类和方法来处理网络连接和数据传输。 ...
MySQL是世界上最受欢迎的开源数据库系统之一,以其快速、可靠和易于使用的特点著称。这篇学习笔记将深入探讨MySQL的基础知识,包括数据类型、操作命令、存储过程和触发器等核心概念。 首先,让我们来看看MySQL的...
3. **具体IP地址**:文中还提到了具体的IP地址,例如RADIUS服务器的地址172.16.2.253和SQL数据库服务器的地址172.16.2.252。这些信息表明文中描述了一个特定的网络环境配置。 ### 技术细节探讨 - **RADIUS + SQL...
ip地址扫描,发送邮箱。 ResizableLib 测试开源界面库Resizable。 RsPicture 自定义了一个图片库,然后引用测试。 SimplePlayer 简单的媒体播放源码。 Skin_Combo_Box_demo 自绘Combox控件的实例。 SkinList_...
8. **反爬策略应对**:许多网站有反爬机制,如验证码、IP封锁等,此时可能需要使用更复杂的技术如Selenium(模拟浏览器行为)或更换IP地址。 9. **Douban MovieReview**:从压缩包的文件名推测,此代码可能涉及抓取...
5. **userip.asp**:可能涉及到用户IP的记录和管理,用于安全控制,如防止恶意攻击或监测异常登录。 6. **payonline.asp**:在线支付相关的代码,用于处理支付接口的调用和支付状态的确认,确保交易的顺利进行。 7...
主机连接信息通常包括服务器的IP地址、端口号,以及连接协议,如TCP/IP。同时,用户还需要提供账号和密码,这是数据库访问权限控制的一部分,确保只有授权的用户能够访问和操作数据。 描述中提到的“选择数据库”...
ip地址扫描,发送邮箱。 ResizableLib 测试开源界面库Resizable。 RsPicture 自定义了一个图片库,然后引用测试。 SimplePlayer 简单的媒体播放源码。 Skin_Combo_Box_demo 自绘Combox控件的实例。 SkinList_...
ip地址扫描,发送邮箱。 ResizableLib 测试开源界面库Resizable。 RsPicture 自定义了一个图片库,然后引用测试。 SimplePlayer 简单的媒体播放源码。 Skin_Combo_Box_demo 自绘Combox控件的实例。 SkinList_...
20. IP地址定位:学习如何使用IP地址进行用户定位,收集用户信息。 21. 行为:深入理解框架的行为扩展机制,提高代码的复用性。 总之,ThinkPHP3.1快速入门教程系列为初学者提供了一条从基础到高级特性的学习路径,...
ip地址扫描,发送邮箱。 ResizableLib 测试开源界面库Resizable。 RsPicture 自定义了一个图片库,然后引用测试。 SimplePlayer 简单的媒体播放源码。 Skin_Combo_Box_demo 自绘Combox控件的实例。 SkinList_...
ip地址扫描,发送邮箱。 ResizableLib 测试开源界面库Resizable。 RsPicture 自定义了一个图片库,然后引用测试。 SimplePlayer 简单的媒体播放源码。 Skin_Combo_Box_demo 自绘Combox控件的实例。 SkinList_...
该函数用于获取客户端IP地址,但由于`client_ip`和`x_forwarded_for`字段均可被伪造,攻击者可以通过伪造这些字段来进行SQL注入攻击。 **利用方式**: - **步骤一**:首先伪造`client_ip`或`x_forwarded_for`字段,...
ip地址扫描,发送邮箱。 ResizableLib 测试开源界面库Resizable。 RsPicture 自定义了一个图片库,然后引用测试。 SimplePlayer 简单的媒体播放源码。 Skin_Combo_Box_demo 自绘Combox控件的实例。 SkinList_...