java限制ip访问
JavaWeb项目限制IP访问
Tomcat配置IP访问限制与允许(server.xml)
JavaWeb—过滤器的使用–禁止IP登陆
在实际的应用中,我们会遇到这样的情况,需要对某些Ip进行访问限制,不让非法的Ip访问应用系统。只有合法的Ip才能可以继续访问!
‘贰’ java中如何获取用户的IP地址及禁止此人
楼上的方法是不合理的。第一,如果用户使用代理,是无法获得真实Ip的0;第二,IF语句不能保证禁止IP,而且很多网站并不需要登录的。给楼主些方法,可供参考。
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访问次数
可以通过过滤器实现,需要在web.xml中设置过滤的url,在请求到来时进行判断是否达到请求上限
‘肆’ Java web 怎样限制同一个ip地址访问网页查询次数,每天只允许一个IP查询一次,怎么实现
用你这种方式也可以实现,但是不能100%控制,因为代理服务器什么的可以隐藏IP
不过可以控制绝大多数的人吧
用Map去记录IP的话,如果访问量很大,后台服务器内存也会加大,
建议用数据库去记录
写个拦截器或者过虑器,访问的时候获取客户端IP存到数据库,之后只需要查一下数据库就可以了
数据库可以写个Job,24小时执行一次,清除24小时以前的数据即可实现你的需求了.
很简单的
‘伍’ Java Web项目中,如何禁掉频繁访问网站的IP
最简单的思路是,创建一个ip访问名单表,写一个filter,将频繁访问的ip放进这个表里,每次访问查表。
‘陆’ JAVA如何限制用户IP地址
你的意思是把一个Set放到session里用来记录IP吗?
感觉好像放到session里不行啊,因为session只是某个ip的用户和应用的一次会话,一般情况下关掉浏览器就没了,如果该用户再次访问该应用的时候就是另外一个session了(session id不同),因此笼统的说,对于同一个ip来说,都可以建立无数个session,那怎么能让session里的一个对象保存不同ip信息呢?这样的话 ,这个Set里永远只可能有一个ip,就是访问用户的ip.
是不是可以考虑放到application里或者干脆存到数据库里?
‘柒’ java 获取客户端局域网ip 并限制访问次数。
你可以增加一个字段吗/
mac address ,pc 的物理地址是不同的,ip 和mac 地址共同形成了一个关键字,这样就不会单独的限制ip 的访问次数了;
‘捌’ Java web怎么限制同一个ip(或mac地址)访问网站,查询资源次数的
获取并保存IP,每次查询前,遍历IP,若相等,跳过查询,提示次数受限!
‘玖’ java 如何禁止通过ip访问服务器,而只能通过域名访问如果是通过ip访问,那么跳转到相应的提示页面,谢谢
禁止通过ip访问服务器:不需要编程即可实现。
如果服务器是IIS:把默认站点设置成【跳转到相应的提示页面】即可;
同时把你的域名站,用80端口的指定域名即可。
具体操作是:新建域名站--》指定端口8080等--》到站点属性的【高级】中,添加域名和端口80的指定即可。