`
羽风之扬
  • 浏览: 86137 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

IP过滤

阅读更多
/**
*
*/
package com.wen.yu.day4;

import java.io.IOException;

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 java.util.StringTokenizer;


/**
* 检查并阻塞特定的 IP
* 阻止 192.168 开头的 ip 地址访问某个资源
*
* @author Administrator
*
*/
public class Filter6 implements Filter {

//指定要被屏蔽 的 ip
private final static String IP_RANGE="192.168";

/* (non-Javadoc)
* @see javax.servlet.Filter#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub

}

/* (non-Javadoc)
* @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
*/
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {

//转换 Request 对象
HttpServletResponse res = null;

//通过请求对象,得到客户端 ip 地址
String ip = arg0.getRemoteAddr();
System.out.println("客户端 ip ="+ip);

if(arg1 instanceof HttpServletRequest)
{
res = (HttpServletResponse)arg1;
}


//将 ip 地址分解
//127.0.0.1    ==>  127   0  0  1
StringTokenizer toke = new StringTokenizer(ip,".");

int dots = 0;
String byte1="";
String byte2="";
String client="";

while(toke.hasMoreTokens())
{
++dots;

//如果是第一个 ip
if(dots == 1)
{
byte1 = toke.nextToken();
}else {
byte2 = toke.nextToken();

//只关心前两个字节
break;
}
}

//将客户 ip 拼起来
client = byte1+"."+byte2;

//如果 ip 在被禁止的范围内
if(this.IP_RANGE.equals(client))
{
System.out.println("该 ip 被禁止访问 :"+client);
//403 禁止访问
res.sendError(HttpServletResponse.SC_FORBIDDEN,"GoodBye Forever!");
}else
{
System.out.println("该 ip 可以访问 :"+client);
arg2.doFilter(arg0, arg1);
}



}

/* (non-Javadoc)
* @see javax.servlet.Filter#init(javax.servlet.FilterConfig)
*/
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub

}

}
分享到:
评论

相关推荐

    IP过滤的源码

    标题 "IP过滤的源码" 暗示我们即将探讨的是与网络数据包过滤相关的技术,特别是基于NDIS(Network Driver Interface Specification)的实现。NDIS是微软操作系统中用于网络驱动程序开发的一种接口,它允许驱动程序在...

    IP过滤器(三位数ip)

    IP过滤器(三位数ip)用于将简单符合ip条件的ip过滤出来

    网络播客视频文件ip过滤下载利器

    《网络播客视频文件IP过滤下载利器:AYOU-FLV抓取器详解》 在互联网上,我们经常遇到各种精彩纷呈的网络播客视频,但这些视频往往受到版权保护,不能直接下载到本地观看。为了满足用户保存并离线欣赏这些内容的需求...

    nginx ip 过滤访问限制

    python脚本 从nginx的访问log,获取访问IP,记录到redis,根据IP访问数量判断是否存在安全问题,记录不正常IP,(写入到防火墙过滤-待完成)

    IP地址过滤限制系统

    8. **PROPER_DIR_STRUCTURE.txt**:此文件可能包含了推荐的目录结构,帮助用户正确地部署和组织系统文件,以确保IP过滤功能正常运行。 9. **IPADMIN**:这可能是一个管理员工具或目录,供管理员管理IP过滤规则、...

    IP地址过滤

    这个名为"IP地址过滤.exe"的文件很可能是该工具的执行程序,用户在下载并运行后,可以配置和启用IP过滤功能。在使用前,务必确认其来源可靠,避免引入潜在的安全风险。同时,合理配置过滤规则至关重要,以免误封正常...

    关于ip的过滤器 spring security例子

    本文将深入探讨如何在Spring Security中实现IP过滤器,以便控制访问应用的客户端IP地址。 首先,我们需要理解Spring Security的基本架构。它是一个多层次的组件模型,其中包括认证、授权和会话管理等核心功能。在...

    DrvFltIp.rar_DrvFltIp_IP驱动过滤_ip过滤_过滤钩子

    在VC++环境下编写一个ip过滤钩子驱动,对新入手学习windows内核编程的人来说很不错

    code_linux.rar_LINUX防火墙_ip过滤_linux 防火墙_netfilter过滤_防火墙过滤

    netfilter防火墙,实现ip过滤,协议过滤,端口过滤

    在.NET环境下为网站增加IP过滤功能(方案和c#源码)

    华能集团下某发电厂的企业网站(基于Asp.Net2.0实现,不允许修改源程序)要求实现“厂内用户可直接访问整个站点的所有页面,厂外用户只能访问指定的页面”的功能,本文将按照需求分析、方案设计、编码实现、部署应用...

    DrvFltIp.rar_DrvFltIp_ip 防火墙_ip过滤

    运用IP过滤钩子驱动创建的防火墙应用程序。

    IP过滤1.5版插件 for Discuz! 7.2 GBK UTF8.zip

    进入后台-插件-IP过滤-设置,对各个功能进行控制(如果是旧版本升级上来的,那么插件名称还会是旧名称) [Change Log] ---------------------------------------- 1.5 --------------------------------------...

    易当IP过滤软件 v1.0.3.5

    易当IP过滤软件结合网络通讯支持库和网络拦截支持库,实现网址IP的过滤。使用说明:打开软件后,可是设置需要拦截的域名和网址,或者添加需要过滤的IP地址和端口,点击启动拦截就可以。易当IP过滤软件是一款很实用的...

    Laravel开发-laravel-ip-filter

    在Laravel框架中,IP过滤是一项重要的安全措施,它允许开发者根据特定的IP地址或IP地址范围来控制访问权限。`laravel-ip-filter`可能是这样一个专门为Laravel设计的扩展包,用于实现IP过滤功能。本篇文章将深入探讨...

    koa-ip:用于koa的ip过滤器中间件,支持白名单和黑名单

    koa-ip是koa的IP过滤中间件,支持whitelist和blacklist 。 安装 $ npm i koa-ip --save or $ yarn add koa-ip 用法 ip ( String | RegExp ) ip ( Array { String | RegExp } ) ip ( { whitelist : Array { String...

    IP地址段的过滤,限制ip,限制主机访问

    2. **IP过滤原理**:IP过滤通常基于防火墙或应用程序层进行,通过检查请求的源IP地址,决定是否允许该请求通过。这有助于防止恶意攻击、DDoS(分布式拒绝服务)攻击,以及对特定资源的未授权访问。 3. **Java Web...

    Cisco2501路由器IP过滤技术及应用.pdf

    Cisco2501路由器IP过滤技术及应用.pdf

    Springboot过滤器禁止ip频繁访问功能实现

    "Springboot过滤器禁止ip频繁访问功能实现" Springboot过滤器禁止ip频繁访问功能实现是指在Springboot项目中,通过编写一个过滤器来限制ip频繁访问的功能实现。这项功能可以防止恶意ip的访问,保护服务器的安全。 ...

    ADSL过滤IP.rar

    标题“ADSL过滤IP.rar”和描述中的信息表明,这个压缩包可能包含了一套使用易语言编写的程序或代码,其主要功能是针对ADSL(Asymmetric Digital Subscriber Line)进行IP过滤。ADSL是一种广泛应用于家庭和小型企业的...

Global site tag (gtag.js) - Google Analytics