- 浏览: 972370 次
- 性别:
- 来自: 山西
文章分类
最新评论
-
白小默:
你好 可以提供下源码DEMO吗,不知为何,我导出来的excel ...
jxls 使用模板文件导出生成excel -
zkzqzzz:
博主威武!
让微信二维码扫描您的APK -
zkzqzzz:
感谢博主 原来那些类都不是必须的 或者自己写!!博主真棒 ...
抢红包插件实现原理浅析 -
zkzqzzz:
博主 请问你的其他类在哪里呢?
抢红包插件实现原理浅析 -
zkzqzzz:
其他类在哪呢?
抢红包插件实现原理浅析
Java代码 package com.tiansong.infosafetranflag.safe.www; import java.io.IOException; import java.util.Iterator; import java.util.List; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.tiansong.infosafetranflag.safe.system.entity.IPItem; import com.tiansong.infosafetranflag.safe.system.service.IPItemService; import com.tiansong.infosafetranflag.safe.system.service.ServiceFactory; import com.tiansong.infosafetranflag.safe.system.service.dao.DAOServiceFactory; public class RemoteHostFilter implements Filter { public RemoteHostFilter() { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) request; HttpServletResponse resp = (HttpServletResponse) response; // 取得本机的IP地址 //InetAddress localAddress = InetAddress.getLocalHost(); //String ipAddress = localAddress.getHostAddress(); String ipAddress = req.getRemoteHost(); System.out.println(ipAddress); long ip = getIpNum(ipAddress); ServiceFactory factory = new DAOServiceFactory(); try { IPItemService ipService = factory.createIPItemService(); // 从数据库中取出所有的IP段 List ipList = ipService.getAllIPItem(); if (ipList.size() > 0 && ipList != null) { for (Iterator it = ipList.iterator(); it.hasNext();) { IPItem item = (IPItem) it.next(); String startIp = item.getStartIp(); String endIp = item.getEndIp(); long start_ip = getIpNum(startIp); long end_ip = getIpNum(endIp); if (isInner(ip, start_ip, end_ip)) { if (item.getStatus().equals("1") || item.getStatus().equals("true")) { //System.out.println("你的IP已被屏蔽,请跟管理员联系!"); //resp.sendError(404); resp.sendRedirect(req.getContextPath() + "/NoSecurity.html"); return; } } } } } catch (Exception e) { } chain.doFilter(request, response); } public void destroy() { } public void init(FilterConfig filterConfig) { } /** * 分割IP * * @param ipAddress * @return */ private static long getIpNum(String ipAddress) { String[] ip = ipAddress.split("\\."); long a = Integer.parseInt(ip[0]); long b = Integer.parseInt(ip[1]); long c = Integer.parseInt(ip[2]); long d = Integer.parseInt(ip[3]); long ipNum = a * 256 * 256 * 256 + b * 256 * 256 + c * 256 + d; return ipNum; } /** * 判断客户端的IP是否在某个ip段中 * * @param clientIp * 客户端的IP * @param begin * 开始IP * @param end * 结束IP * @return */ private static boolean isInner(long clientIp, long begin, long end) { return (clientIp >= begin) && (clientIp <= end); } } package com.tiansong.infosafetranflag.safe.www; import java.io.IOException; import java.util.Iterator; import java.util.List; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.tiansong.infosafetranflag.safe.system.entity.IPItem; import com.tiansong.infosafetranflag.safe.system.service.IPItemService; import com.tiansong.infosafetranflag.safe.system.service.ServiceFactory; import com.tiansong.infosafetranflag.safe.system.service.dao.DAOServiceFactory; public class RemoteHostFilter implements Filter { public RemoteHostFilter() { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) request; HttpServletResponse resp = (HttpServletResponse) response; // 取得本机的IP地址 //InetAddress localAddress = InetAddress.getLocalHost(); //String ipAddress = localAddress.getHostAddress(); String ipAddress = req.getRemoteHost(); System.out.println(ipAddress); long ip = getIpNum(ipAddress); ServiceFactory factory = new DAOServiceFactory(); try { IPItemService ipService = factory.createIPItemService(); // 从数据库中取出所有的IP段 List ipList = ipService.getAllIPItem(); if (ipList.size() > 0 && ipList != null) { for (Iterator it = ipList.iterator(); it.hasNext();) { IPItem item = (IPItem) it.next(); String startIp = item.getStartIp(); String endIp = item.getEndIp(); long start_ip = getIpNum(startIp); long end_ip = getIpNum(endIp); if (isInner(ip, start_ip, end_ip)) { if (item.getStatus().equals("1") || item.getStatus().equals("true")) { //System.out.println("你的IP已被屏蔽,请跟管理员联系!"); //resp.sendError(404); resp.sendRedirect(req.getContextPath() + "/NoSecurity.html"); return; } } } } } catch (Exception e) { } chain.doFilter(request, response); } public void destroy() { } public void init(FilterConfig filterConfig) { } /** * 分割IP * * @param ipAddress * @return */ private static long getIpNum(String ipAddress) { String[] ip = ipAddress.split("\\."); long a = Integer.parseInt(ip[0]); long b = Integer.parseInt(ip[1]); long c = Integer.parseInt(ip[2]); long d = Integer.parseInt(ip[3]); long ipNum = a * 256 * 256 * 256 + b * 256 * 256 + c * 256 + d; return ipNum; } /** * 判断客户端的IP是否在某个ip段中 * * @param clientIp * 客户端的IP * @param begin * 开始IP * @param end * 结束IP * @return */ private static boolean isInner(long clientIp, long begin, long end) { return (clientIp >= begin) && (clientIp <= end); } } js判断是否是ip字符串 Js代码 function iptest(v){ var ip = /^([1-9][0-9]{0,1}|1[013-9][0-9]|12[0-689]|2[01][0-9]|22[0-3])([.]([1-9]{0,1}[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])){2}[.]([1-9][0-9]{0,1}|1[0-9]{2}|2[0-4][0-9]|25[0-4])$/; return ip.test(v); }
发表评论
-
java通过sftp JSch 上传文件下载文件查看文件目录,测试可用
2019-12-19 18:19 972基于maven ... -
服务器之间的 zip 文件定时传送
2019-12-19 10:28 5191、expect 安装 将expect和tcl的软 ... -
Java/web/jsp根据pdf模板生成荣誉证书PDF文件
2019-07-19 14:48 9551.前言 最近博主在 ... -
Java生成荣誉证书PDF文件
2019-07-19 13:08 1380Java生成荣誉证书PD ... -
百度云API刷脸
2019-07-13 11:41 631刷脸登录是基于人工智能、生物识别、3D传感、大数据风控技术, ... -
maven--maven配置多个源文件夹
2019-06-13 21:32 930需求 Maven 为我们提供了一致的项目目录配置(源文件 ... -
绿盟检测出“检测到目标URL存在http host头攻击漏洞”如何解决
2019-06-09 10:00 1001绿盟检测出“检测到目标URL存在http host头攻击漏 ... -
Linux安装apache及其简单的反向代理配置
2019-06-07 09:06 637Apache简介 Apache HTTP Se ... -
Linux二进制安装apache2.4.25
2019-06-07 09:06 714Linux二进制安装apache2.4. ... -
weblogic配置https,http自动跳转转https,ssl
2019-05-21 09:44 942最近,公司要求将http ... -
bootstrap-table组合表头
2019-03-06 10:04 913bootstrap-table组合表头 ... -
[Weblogic]如何清理缓存
2019-03-04 15:23 857[Weblogic]如何清理缓存 ... -
Guns第十节Swagger的讲解
2019-01-23 16:51 6422018年08月01日 15:54:30 ze ... -
Anaconda详细安装使用教程
2019-01-22 15:07 613关注微信公众号【Mi ... -
Windows系统下Eclipse上搭建Python开发环境
2019-01-22 15:00 328Windows系统下Eclipse上搭 ... -
Python 3.6 中使用pdfminer解析pdf文件
2019-01-22 14:50 935所使用python环境为最新 ... -
Python提取PDF内容(文本、图像、线条等)
2019-01-22 14:43 7545使用Python抽取PDF文件内 ... -
用python解析pdf中的文本与表格【pdfplumber的安装与使用】
2019-01-22 14:40 1533我们接触到的很多文档资料都是以pdf格式存在的,比如:论文, ... -
java实现PDF转HTML
2019-01-21 10:14 923java实现PDF转HTML 问题场景: ... -
JAVA PDFBOX 读取PDF表格
2019-01-18 17:39 2934最近在帮公司做工具,需要读取PDF中表格的数据。网上查了, ...
相关推荐
### 编写程序判断一个IP地址是否合法,并判断该地址是否属于一个给定的子网 #### 一、课程设计目的与要求 本课程设计的主要目的是通过编写一个程序来检验学习者对于IP地址概念及子网划分的理解程度。具体来说,程序...
3. **比较子网与IP地址**:对子网和IP地址分别应用子网掩码,然后比较结果是否一致来判断IP地址是否属于指定的子网。 #### 四、示例代码片段分析 下面是一些关键代码片段的分析: ```java public static boolean ...
每个IP地址都与特定的地理位置相关联。 - 为了将IP地址与国家或地区对应,我们需要IP数据库。例如,`ipdata.db`可能是这样的数据库,它存储了IP范围和对应的地理位置信息。 2. **IP地址分类**: - IP地址分为IPv4...
3. `isIn($startIp, $endIp, $ip)`:判断一个IP地址是否在指定的IP段内。此方法接收开始IP和结束IP(都是字符串格式),以及待检测的IP地址。它先将所有IP地址转换为整数,然后比较待检测的IP地址是否在开始IP和结束...
本文将详细介绍如何通过Shell脚本实现IP地址是否在一个指定的IP段内的判断,并提供具体的实现代码。 #### 关键概念解释 1. **IP地址**:Internet Protocol Address,用于唯一标识互联网上的设备。IPv4地址由四个十...
4. **循环与条件判断**:通过循环遍历IP地址段,判断每个IP是否在指定范围内,这需要用到易语言的循环控制结构和条件语句。 5. **数组操作**:在处理多个IP地址时,可能需要使用数组存储,进行数组遍历、查找、排序...
- 使用位操作(AND 运算)判断 IP 地址是否属于指定子网。 #### 四、代码实现 下面是基于以上分析的代码实现示例: ```java public class IpTest { public static void main(String[] args) { // 参数检查 if...
2. **IP地址范围判断**:在编程或网络管理中,我们可能需要检查一个IP地址是否落在特定的IP地址范围内,比如确定某个IP是否属于某个网络段。这可以通过将IP地址转换为整数比较其数值范围来实现,或者使用IP地址解析...
在C#编程中,有时我们需要判断一个给定的IP...总的来说,掌握如何在C#中判断IP地址是否在指定范围内是一项基础但重要的技能,这在处理网络数据或实现网络功能时非常有用。希望上述内容能帮助到正在学习C#编程的朋友们。
5. **IP与子网掩码的比较**: 判断IP是否在子网内,首先需要将IP地址和子网掩码都转换为二进制,然后执行位与操作。如果得到的结果与子网的网络部分相同,那么IP地址就属于该子网。例如: ```java int ipInt = ...
这类工具通常使用端口扫描技术,通过发送特定的网络请求到指定的IP地址并分析响应来判断IP是否在线。例如,它可能会发送TCP SYN包到目标IP的常用端口(如80、443、22等),如果收到响应,则认为该IP被占用;若无响应...
程序需要验证输入的IP地址格式是否正确,同时还要判断这个IP地址是否属于由子网地址和子网掩码定义的网络段内。 实现这个功能,首先需要解析输入的IP地址和子网掩码,将其从点分十进制转换为二进制形式。然后,通过...
它能周期性地发送ping请求到指定的IP地址,通过响应时间来判断网络连接是否正常。如果某IP地址未响应,系统会记录下断线时间,并将这些信息保存在日志文件中。日志文件对于故障排查和分析网络问题至关重要,因为它...
【易语言IP段端口扫描源码】是一个用于网络扫描的程序,主要功能是检查指定的IP地址范围内的端口是否开放。在IT领域,端口扫描是网络安全和系统管理员常用的工具,它可以帮助识别网络上的服务、漏洞以及潜在的安全...
接着,使用该`Pattern`对象创建了一个`Matcher`对象,并调用其`matches()`方法来判断IP地址是否符合指定的正则表达式模式。如果返回`true`,则表示输入的IP地址是有效的;反之,则无效。 ### 总结 通过上述分析和...
在Python中,我们可以使用`os.system()`或者`subprocess`模块来调用操作系统内置的ping命令,对每个IP执行ping操作并捕获结果。根据返回值,我们可以判断IP是否响应。此外,还可以使用第三方库如`ping3`来简化ping...
标题中的“自动扫描ip段端口ipscan”指的是一个用于网络安全和网络管理的工具,它能够自动扫描指定IP地址范围内的所有端口,以检测网络连接的状态和安全性。这个工具通常被系统管理员用来查找开放的端口、识别可能的...
标题 "Ping指定IP并输出带每条Ping记录时间的文档" 涉及到的是网络诊断中的一个常见操作,即使用Ping命令来测试网络连通性,并将结果详细记录下来。Ping是Internet控制报文协议(ICMP)的一部分,用于网络诊断,通过...
则...”)来判断某个IP地址是否在指定的IP段内。 5. 循环:在处理大量IP地址或IP段时,可能会用到循环结构,如“循环”、“直到”等,遍历IP地址范围。 6. 文件操作:压缩包内的"源码使用说明.txt"可能是对源代码的...