import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class IPFilter implements Filter {
FilterConfig fc = null;
public void destroy() {
System.out.println("IPFilter destroy");
}
public void doFilter(ServletRequest req, ServletResponse resp,
FilterChain chain) throws IOException, ServletException {
String ip = req.getRemoteAddr();
String strIPBlackList = fc.getInitParameter("IPBlackList");
if(strIPBlackList.indexOf(ip) != -1) {
PrintWriter out = resp.getWriter();
out.println("Your IP is not welcome!");
return;
}
chain.doFilter(req, resp);
}
public void init(FilterConfig fc) throws ServletException {
System.out.println("IPFilter init");
this.fc = fc;
}
}
web.xml中的配置:
<filter>
<filter-name>IPFilter</filter-name>
<filter-class>
com.bjsxt.shopping.util.filter.IPFilter
</filter-class>
<init-param>
<param-name>IPBlackList</param-name>
<param-value>192.168.0.10,192.168.0.11</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>IPFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
分享到:
相关推荐
这个"获取手机IP地址的Demo"就是针对这一需求的一个简单实现。它提供了一个工具类,开发者可以直接引用并调用相关方法来获取设备的IP信息。在使用这个Demo时,确保你已经为你的应用添加了必要的网络权限,这是...
IP175LLF 芯片的 Layer 2-4 多字段分类器支持 8 个多字段条目,支持流量策略、多字段过滤、Copy to Mirror 端口和 Trap to CPU 端口等特性。 QoS 和 VLAN IP175LLF 芯片支持基于策略的 QoS,支持 4 级优先级队列每...
7. **minaDemo项目结构**:压缩包中的minaDemo项目可能包含以下组件:主类(启动服务)、配置文件(如XML配置服务)、过滤器实现、编码解码器、以及IoHandler的实现。通过分析这个Demo,我们可以了解到如何实际搭建...
这个demo可能是通过一个简单的客户端应用,允许用户输入服务器的IP地址和端口号,然后就能与RocketMQ服务器进行交互,实现消息的发布和订阅功能。 1. ** RocketMQ的基本概念 ** - **主题(Topic)**:主题是消息...
在"springcloud-demo"中,每个服务实例启动时都会向Eureka Server注册自身信息,包括服务ID、IP地址、端口等。其他服务则通过Eureka Server来查找并消费这些服务,实现服务间的通信。Eureka还提供了服务健康检查机制...
- **协议无关性**:Mina 提供了对多种网络协议的支持,如TCP/IP、UDP、SSL/TLS等,开发者可以根据需求选择合适的协议。 ### 2. Mina 工作流程 1. **服务端启动**:创建一个Acceptor,配置监听的端口号,然后启动...
它提供了一个高度可扩展的、高性能的、事件驱动的I/O服务架构,广泛应用于各种网络协议的实现,如TCP/IP、UDP/IP以及HTTP等。在本“mina即时聊天demo”中,我们可以通过学习如何利用Mina来构建一个简单的即时聊天...
Apache Mina(Minimum Asynchronous Network)是一个开源的网络通信框架,它为Java开发者提供了一种简单而高效的方式来构建高性能、高可用性的网络应用程序,如TCP/IP和UDP/IP协议的应用。在本示例中,我们将深入...
- **建立连接**: 使用IoConnector连接到服务器,指定服务端的IP地址和端口号。 - **设置Filter**: 添加自定义或预定义的过滤器,例如,数据编码解码过滤器、心跳包过滤器等,以处理网络传输的数据。 - **发送/...
总的来说,IP地址物理位置查询是网络应用中的重要一环,广泛应用于网络安全、广告定向、内容过滤等领域。通过理解IP地址的分配机制、地理定位技术以及相关的编程实践,我们可以有效地实现这一功能。
3. **过滤和搜索**:Wireshark的过滤功能允许你快速定位特定类型的CIP报文,例如,你可以查找所有与读取操作相关的报文,或者查找特定设备间的通信记录。 **学习和应用** 由于CIP相关资源相对有限,深入理解并掌握...
但要注意,实际的网络爬虫开发中还需要考虑更多因素,比如遵守网站的robots.txt文件、设置爬取速度以避免对服务器造成压力、处理反爬虫策略(如验证码、IP限制)等。 在使用网络爬虫时,尊重网站的版权和用户隐私至...
3. **路由(Router)**:根据特定规则对请求进行路由,如基于IP、版本号等条件过滤。 4. **包装器(Wrapper)**:对服务进行功能增强,如记录调用日志、性能监控等。 三、Dubbo-Demo解析 在"**dubbo-demo**"这个...
2. 数据包解析:捕获到的数据包需要被解析,以便获取每个包的相关信息,如源IP、目标IP、协议类型、数据大小等。 3. 流量计算:根据解析出的数据,程序可以计算出总的上传、下载流量,或者按时间、协议类型等进行...
连接过程涉及设置正确的波特率、校验位、数据位等参数,并确保设备的IP地址配置正确。 4. **数据获取**:雷达设备会周期性地发送数据,包括回波强度、目标距离、方位角等信息。开发者通过SDK可以解析这些数据,了解...
在Java世界中,Mina以其简洁的API和灵活性而受到青睐,尤其适用于处理大量的并发连接,如TCP/IP和UDP协议。在这个"Mina开发实例(服务端、客户端)DEMO"中,我们将深入探讨Mina如何实现长连接通讯。 首先,我们来...
- IP地址库更新:用于维护一个IP到域名的数据库,以便快速查找或过滤。 在实际操作中,需要注意的几个点是: - DNS缓存:PHP的`gethostbyname()`函数可能受到本地DNS缓存的影响,可能导致结果不准确。可以考虑清空...
在Web应用中,Filter是一种拦截请求和响应的机制,可以用来实现各种过滤逻辑,如认证、授权、数据校验等。这里的Filter特别关注对Host头的检查,确保其值只来自预定义的安全列表(即白名单)。而web.xml是Java ...
- **Filter**:过滤器是Mina的核心部分,用于处理进来的数据或发送出去的数据。它们可以按顺序链式排列,实现数据的预处理和后处理。 - **ProtocolHandler**:处理特定协议的逻辑,如TCP、UDP或HTTP等。 - **...
这通常涉及使用`xlrd`读取现有数据,处理这些数据(比如计算、过滤、排序等),然后使用`xlwt`将处理后的数据写回Excel。追加写入时,可以创建新的工作表或者在现有工作表的末尾添加新数据。 `nettest-7.0.xls`文件...