- 浏览: 933864 次
- 性别:
- 来自: 山西
文章分类
最新评论
-
白小默:
你好 可以提供下源码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 887基于maven ... -
服务器之间的 zip 文件定时传送
2019-12-19 10:28 4771、expect 安装 将expect和tcl的软 ... -
Java/web/jsp根据pdf模板生成荣誉证书PDF文件
2019-07-19 14:48 8671.前言 最近博主在 ... -
Java生成荣誉证书PDF文件
2019-07-19 13:08 1285Java生成荣誉证书PD ... -
百度云API刷脸
2019-07-13 11:41 583刷脸登录是基于人工智能、生物识别、3D传感、大数据风控技术, ... -
maven--maven配置多个源文件夹
2019-06-13 21:32 864需求 Maven 为我们提供了一致的项目目录配置(源文件 ... -
绿盟检测出“检测到目标URL存在http host头攻击漏洞”如何解决
2019-06-09 10:00 877绿盟检测出“检测到目标URL存在http host头攻击漏 ... -
Linux安装apache及其简单的反向代理配置
2019-06-07 09:06 563Apache简介 Apache HTTP Se ... -
Linux二进制安装apache2.4.25
2019-06-07 09:06 667Linux二进制安装apache2.4. ... -
weblogic配置https,http自动跳转转https,ssl
2019-05-21 09:44 855最近,公司要求将http ... -
bootstrap-table组合表头
2019-03-06 10:04 855bootstrap-table组合表头 ... -
[Weblogic]如何清理缓存
2019-03-04 15:23 809[Weblogic]如何清理缓存 ... -
Guns第十节Swagger的讲解
2019-01-23 16:51 5472018年08月01日 15:54:30 ze ... -
Anaconda详细安装使用教程
2019-01-22 15:07 570关注微信公众号【Mi ... -
Windows系统下Eclipse上搭建Python开发环境
2019-01-22 15:00 288Windows系统下Eclipse上搭 ... -
Python 3.6 中使用pdfminer解析pdf文件
2019-01-22 14:50 893所使用python环境为最新 ... -
Python提取PDF内容(文本、图像、线条等)
2019-01-22 14:43 7499使用Python抽取PDF文件内 ... -
用python解析pdf中的文本与表格【pdfplumber的安装与使用】
2019-01-22 14:40 1479我们接触到的很多文档资料都是以pdf格式存在的,比如:论文, ... -
java实现PDF转HTML
2019-01-21 10:14 857java实现PDF转HTML 问题场景: ... -
JAVA PDFBOX 读取PDF表格
2019-01-18 17:39 2638最近在帮公司做工具,需要读取PDF中表格的数据。网上查了, ...
相关推荐
号循环,然后判断是否含有”-“,如果有则进行拆分处理,最后判断是否在范围内 ‘参数: cInput_Ip,代检查的ip ‘cBound_Ip,给定的范围格式为,单个ip,和范围ip,范围ip最后使用”-“分割,如果是“*”则必须放到...
经过一段时间,pathping 命令将数据包发送到最终目标位置途中经过的每个路由器。pathping 命令与工具tracert类似,请比较tracert的结果。 6. nslookup Nslookup显示可用来诊断域名系统 (DNS) 基础结构的信息。只有...
用户可选择d m e ,然后if语句将作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以goto end将程序跳到end标号处,然后程序将显示good bye,...
假如这个选项被设置,每个ip被列入黑名单时,都将发送email通知。但有机制防止重复发送相同的通知 注意:请确定mod_dosevasive.c (or mod_dosevasive20.c)已正确配置。 默认配置是 "/bin/mail -t %s" %s 是email...
因为有足够的资源来管理每个 T C P连接。 至此已介绍完了T C P拦截。下一节将讨论网络地址转换( N AT)。 8.4 网络地址转换概述 网络地址转换可以动态改变通过路由器的 I P报文的内容,以便修改报文的源 I P...
对于IP地址, 可以采用链表的方式存储, 但由于需要判断IP地址是否唯一, 故需遍历整个链表, 时间复杂度为`O(n)`, 同时我们只需要知道IP地址是否已经存在, 并不需要记录完整的IP地址, 因此内存上的开销也不占据优势....
采用多线程方式对指定IP地址段(或单机)进行安全漏洞检测,支持插件功能。扫描内容包括:远程服务类型、操作系统类型及版本,各种弱口令漏洞、后门、应用服务漏洞、网络设备漏洞、拒绝服务漏洞等二十几个大类。 ...
全盘删除每个文件夹下的指定文件.cmd 全盘搜索指定文件.cmd 全盘查找QQ.exe并执行.cmd 创建url格式的快捷方式.cmd 删除N天之前的文件.cmd 删除当前目录下及其子文件夹中所有的空文件夹.cmd 删除所有以数字命名的...
如果没有指定模块名,显示每个进程加载的所有模块。 /SVC 显示每个进程中的服务信息,当/fo参数设置为table时有效。 /V 显示详细信息。 /FI filter 显示一系列符合筛选器指定的进程。 /FO format 指定输出格式,...
使用Request对象的getCookie()方法,执行时将所有客户端传来的Cookie对象以数组的形式排列,如果要取出符合需要的Cookie对象,就需要循环比较数组内每个对象的关键字。 例如: Cookie[] c = request.get...
每个虚拟控制台可以看作是一个独立的工作站,工作台之间可以切换。虚拟控制台的切换可以通过按下Alt键和一个功能键来实现,通常使用F1-F6 。 例如,用户登录后,按一下“Alt+ F2”键,用户就可以看到上面出现的...
# MySQL的最大连接数,如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量,当然这建立在机器能支撑的情况下,因为如果连接数越多,介于MySQL会为每个连接提供连接缓冲区,就会开销越多的内存,...
4-扫描获取指定IP段内的存活主机及相关信息:IP地址、MAC地址、工作组和主机名。 5-可以在两种扫描方式中进行选择:一般扫描(基于Netbios),高级扫描(基于Arp)。 6-监视所有主机的打开网页记录:包括每个网页的请求...
用户可选择d m e ,然后if语句将作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以goto end将程序跳到end标号处,然后程序将显示good bye,...
Filter、Nat、Mangle 而得名,每个表有几条链。一条链就是发生在包L 的一系列动作,例如Filter 表就有INPUT、FORWARD、OUTPUT 三个不同的默认链。如果包过滤需要检查IP 包,则netfilter 框架在网络层截获IP 包,这就...
Ping:判断某IP是否和网络连接的好帮手! 2. 共享资源查找:为你查找网上的共享资源! 3. 常用修改:反恶意网页修改,恢复系统设置等 4. Finger:Finger能为你查询对方系统的用户信息! 5. 端口扫描:使你更加了解对方...
Ping:判断某IP是否和网络连接的好帮手! 2. 共享资源查找:为你查找网上的共享资源! 3. 常用修改:反恶意网页修改,恢复系统设置等 4. Finger:Finger能为你查询对方系统的用户信息! 5. 端口扫描:使你更加了解对方...
网页下载设置信息: 网页名称:用户给网页命名的名称。... 测试数据库:判断填写的数据库设置信息是否正确。 与服务DB相同:表示与系统数据库设置相同 步骤1:测试DB表示是否能正确连接数据库。
第8课 基本网络管理工具及应用 Windows 2000 Server 的网络监视器 Windows 2000 Server ...-s 显示每个协议的使用状态(包括TCP协议、UDP协议、IP协议); -n 以数字表格形式显示地址和端口; -a 显示所有主机的端口号。