6个回答
展开全部
java web中限制访问的ip,主要是使用session的getRemortIP(HttpServletRequest)方法,如下代码:
/**
*
* @param request
* @return
*
* 功 能 :得到用户Ip地址
*/
public static String getRemortIP(HttpServletRequest request) {
if (request.getHeader("x-forwarded-for") == null) {
return request.getRemoteAddr();
}
return request.getHeader("x-forwarded-for");
}
调用
String ip = getRemortIP(HttpServletRequest);
if(ip == "127.0.0.1"){
System.out.print("禁止访问");
}
Hr完整项目中 --- common.jsp 得到网址
<%
//路径
String path = request.getContextPath();
// request 保存
request.setAttribute("path",path);
%>
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,Sto...
点击进入详情页
本回答由Storm代理提供
展开全部
在用户登录时,得到用户的ip地址,只让指定的ip能登录
String ip = request.getHeader("x-forwarded-for");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-10
展开全部
request.getRemoteAddr();得到IP地址。然后用split(“.”)方法用点把IP地址隔开。然后就可以做限制操作了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先设置一个白名单表,
当用户访问的时候,你就获取用户的ip地址,是否在白名单表中,如果不存在,则不予理睬
当用户访问的时候,你就获取用户的ip地址,是否在白名单表中,如果不存在,则不予理睬
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-10
展开全部
你的意思是把一个Set放到session里用来记录IP吗?
感觉好像放到session里不行啊,因为session只是某个ip的用户和应用的一次会话,一般情况下关掉浏览器就没了,如果该用户再次访问该应用的时候就是另外一个session了(session id不同),因此笼统的说,对于同一个ip来说,都可以建立无数个session,那怎么能让session里的一个对象保存不同ip信息呢?这样的话 ,这个Set里永远只可能有一个ip,就是访问用户的ip.
是不是可以考虑放到application里或者干脆存到数据库里?
感觉好像放到session里不行啊,因为session只是某个ip的用户和应用的一次会话,一般情况下关掉浏览器就没了,如果该用户再次访问该应用的时候就是另外一个session了(session id不同),因此笼统的说,对于同一个ip来说,都可以建立无数个session,那怎么能让session里的一个对象保存不同ip信息呢?这样的话 ,这个Set里永远只可能有一个ip,就是访问用户的ip.
是不是可以考虑放到application里或者干脆存到数据库里?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询