java过滤ip地址代码 java实现过滤链

java中如何获取用户的IP地址及禁止此人

楼上的方法是不合理的。第一,如果用户使用代理,是无法获得真实Ip的0;第二,IF语句不能保证禁止IP,而且很多网站并不需要登录的。给楼主些方法,可供参考。

创新互联是专业的剑川网站建设公司,剑川接单;提供网站设计、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行剑川网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

1。 获取用户IP

public String getRemortIP(HttpServletRequest request) {

if (request.getHeader("x-forwarded-for") == null) {

return request.getRemoteAddr();

}

return request.getHeader("x-forwarded-for");

}

这种方法总是获得用户的真实IP

2。禁止IP,可以考虑从服务器下手

(1) 如果用的是tomcat,那么在tomcat_home/conf/server.xml中的host/host之间加一行代码:

Valve className="org.apache.catalina.valves.RemoteAddrValve" deny="192.168.1.1"/

这样192.168.1.1这个ip访问webapp时会收到 403 错误

(2) 如果是apache那么:

Directory /var/web/dir1

Allow from all

Deny from 111.111.111.111

/Directory

上面限制单个IP,限制IP段用*号代替。如111.111.111.*

(3) 或者楼主也可以像楼上说的用代码实现,给你个JS代码:

SCRIPT LANGUAGE="java script"

!-- Begin

netscape = (navigator.appName.indexOf("Netscape") != -1);

version4 = (navigator.appVersion.indexOf("4.") != -1);

if (netscape version4) {

ip = "" + java.net.InetAddress.getLocalHost().getHostAddress();

if (ip.indexOf("235.12") = -1)

// 这是想要禁止访问的IP例如: 235.12.xxx.xxx

{

alert("You are not permitted to access this site.");

history.go(-1);

}

}

// End --

/script

将以上代码加入到head区域中。

java如何写一个防止同账号不同ip登录的程序?请给出思路甚至代码

在数据库表中增加一个字段,记录用户登录的ip,在每次登录的时候都检测一下该字段是否为空,如果不为空,那么比较数据库中登录的ip是否跟当前ip相同,如果不同,那么强行登录的话就将新的ip记录写到数据库中。

写一个过滤器,每次在访问Action的时候都判断当前的ip和数据库中的是否相同,如果不同,那么就强制下线,这样就限制了另外一个用户的访问。

用户在自己退出的时候清空数据库中的ip记录,这样就能保证不影响下次登录。

还有一种方式就是在每个页面都写一个定时,每隔一定时间就向服务器发送一次请求判断当前ip与数据库中保存的ip是否相同,如果不同就强制下线。但是这种方式比较耗费连接。

JAVA编程 如何对一段IP地址字符串的2-3段进行屏蔽

利用字段切割

String a="192.168";

String[] b=a.split(".");

然后重组将二三段用*来替代


网页标题:java过滤ip地址代码 java实现过滤链
文章位置:http://hbruida.cn/article/doeepop.html