[代码] [Java]代码 ###欢迎参与SimpleOnline开源开发团队 专注开源插件的开发
###QQ群:259313930--效力开源 做最简略高效的开源组件
###希望参与本群的都能能为代码贡献者,勿酱油
###加群只需一个条件:备注三小时内改成真实名字
###对源码开源 对运用说明文档收费
package org.apple.util.websafety;
import ja http://www.fpshamen.com va.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
import org.apple.util.log.CommonsLogging;
/**
* @category 安全组件上下文-组件需要安全组件过滤器urlmapping为/*
* @author 曹正辉 SimpleOnline开源组件开发团队
* @since 2013-3-31
*
* * 1.ip安全策略:分为黑名单和白名单。黑名单对整个系统有用。白名单对整个系统或许url有用。
* 2.时辰安全策略 :能够分为整个系统或许某个url有用。
*
*/
public class SafetyContext {
public static CommonsLogging logging = new CommonsLogging(SafetyContext.class);
/**
* 黑名单ip容器:map中value存储的是记载该黑名单记载的时分
*/
public static Map blackIpMap = new HashMap();
/**
* 对系统的黑名单IP进行添加和删去和区分能否存在
*/
public static void addBlackIp(String ip) {
if ((ip == null) || ("".equals(ip.trim()))) {
return;
}
if (SafetyContext.blackIpMap.containsKey(ip)) {
logging.error("ip为" ip "的用户以一种一起的黑客技术攻破本系统访问本网站,希望管理员查看");
} else {
SafetyContext.blackIpMap.put(ip, System.currentTimeMillis());
logging.error("ip为" ip "的用户参与ip列表中");
}
}
public static void removeBlackIp(String ip) {
if ((ip == null) || ("".equals(ip.trim()))) {
return;
}
if (SafetyContext.blackIpMap.containsKey(ip)) {
SafetyContext.blackIpMap.remove(ip);
logging.error("有人从黑名单中移除危险ip" ip);
}
}
public static boolean checkIpExistsInBlackIpMap(String ip) {
if ((ip == null) || ("".equals(ip.trim()))) {
throw new NullPointerException("ip为空");
}
if (SafetyContext.blackIpMap.containsKey(ip)) {
return true;
} else {
return false;
}
}
/**
* 白名单
*/
public static Map whiteIpMap = new HashMap();
/**
* 如果对该ip进行全部区域设置都能够访问
*/
public static final String White_Ip_All_Area = "All_Area";
public static void addAllAreaWhiteIp(String ip) {
/**
* 自动掩盖全部的从前对该ip的url访问束缚
*/
SafetyContext.whiteIpMap.put(ip, White_Ip_All_Area);
}
/**
* @param url的方法为
* /xyz.jsp或许/xyz/
*/
@SuppressWarnings("unchecked")
public static void addWhiteIpUrl(String ip, String url) {
// 该从前能够访问该运用的全部的区域
if (SafetyContext.whiteIpMap.containsKey(ip) http://www.kp1111.info