获取登录用户ip

public static String getIpAddr(HttpServletRequest request) {
        String ipAddress = null;
        try {
            ipAddress = request.getHeader("x-forwarded-for");
            if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
                ipAddress = request.getHeader("Proxy-Client-IP");
            }
            if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
                ipAddress = request.getHeader("WL-Proxy-Client-IP");
            }
            if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
                ipAddress = request.getRemoteAddr();
                if (ipAddress.equals("127.0.0.1")) {
                    // 根据网卡取本机配置的IP
                    InetAddress inet = null;
                    try {
                        inet = InetAddress.getLocalHost();
                    } catch (UnknownHostException e) {
                        e.printStackTrace();
                    }
                    ipAddress = inet.getHostAddress();
                }
            }
            // 对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照‘,‘分割
            if (ipAddress != null && ipAddress.length() > 15) {
                if (ipAddress.indexOf(",") > 0) {
                    ipAddress = ipAddress.substring(0, ipAddress.indexOf(","));
                }
            }
        } catch (Exception e) {
            ipAddress="";
        }
        return ipAddress;
    }

原文地址:https://www.cnblogs.com/penghq/p/10518254.html

时间: 2024-08-30 15:10:58

获取登录用户ip的相关文章

java获取登录用户ip地址

public class IPUtil { /** * 获取ip * @param request * @return */ public static String getIp(HttpServletRequest request) { if (request == null) return ""; String ip = request.getHeader("X-Requested-For"); if (StringUtil.isEmpty(ip) || &qu

ASP.NET中获取登录用户ID 用户身份验证(转载)

如果VS2005及VS2008中使用菜单[网站]-[ASP.NET配置]进入使用网站管理工具(WAT)的表单验证(Forms验证)方式来建立网站数据库,默认数据库名为ASPNETDB.MDF.系统将会自动建立一套系统数据表(VS2008中为11个这样的数据表),利用这个系统数据表可以快捷地进行创建新用户.角色.用户登录.修改用户口令等开发. 在后续开发过程中,需要反复使用用户ID.判断用户是否为登录用户或者是否为某一角色,这些常用操作如下: 1.获取当前登录用户ID Membership.Get

Linux 获取登录者IP

在linux中有时须要获得登录者的IP,这里有两种方法.先使用who am i 获取登录IP,然后截取字符串: 1.awk截取,sed替换 who am i | awk '{print $5}' | sed 's/(//g' | sed 's/)//g' 2.cut 截取 who am i|cut -d\( -f2|cut -d\) -f1 用法,若在脚本中如.bashrc中,能够使用` `符号来运行脚本.·符号位位于键盘左上角第二排第一个键.比如 export REMOTE_IP=`who a

spring-如何优雅的获取登录用户信息

这个问题其实一直比较困扰我. 因为在业务逻辑中经常会使用当前登录用户的一些信息,比如user_id等 而如果使用shiro做登录.权限验证……那么获取用户信息就需要 String username = SecurityUtils.getSubject().getPrincipal(); ……这简直就是蛋疼了……虽然这么用也不是不成 谁有更好的解决办法吗? 原文地址:https://www.cnblogs.com/kalajiadisi/p/11050308.html

获取登录的IP或者信息

这是转载的,也不想去检查性能,对于这些成熟的代码,发在这里完全是懒,仅此而已! 1.获取客户端IP /// <summary> /// 获取客户端Ip /// </summary> /// <returns></returns> public String GetClientIp() { String clientIP = ""; if (System.Web.HttpContext.Current != null) { clientIP

SpringBoot 获取当前登录用户IP

控制器方法: @RequestMapping(value = "/getIp", method = RequestMethod.POST) @ResponseBody public String getIp(HttpServletRequest request) { return IpUtil.getIpAddr(request); } 工具类方法: public class IpUtil { public static String getIpAddr(HttpServletRequ

js获取当前用户IP地址和城市

引用下面的js: <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script> 直接获取IP和城市名: alert(returnCitySN['cip'] + returnCitySN['cname']); 原文地址:https://www.cnblogs.com/e-cat/p/9721992.html

JS获取登录者IP和登录城市

登录城市:<sp class="cy"></sp><br /> 管理员个数:<font color="#538ec6"><strong>2</strong></font> 人<br /> 登陆者IP:<span class="sp"></span><br /> <script src="http://

后台获取登录的IP地址

public static String getIpAddr(HttpServletRequest request) { String ip = request.getHeader("x-forwarded-for"); if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("Proxy-Client-IP");