uniapp获取用户端真实IP地址

编程之家收集整理的这篇文章主要介绍了uniapp获取用户端真实IP地址编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

搜索热词

获取用户真实IP地址,不使用request.getRemoteAddr();的原因是有可能用户使用了代理软件方式避免真实IP地址, 参考文章

 http://developer.51cto.com/art/201111/305181.htm

  可是,如果通过了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串IP值,究竟哪个才是真正的用户端的真实IP呢?

 答案是取X-Forwarded-For中第一个非unknown的有效IP字符串。

  如:X-Forwarded-For:192.168.1.110, 192.168.1.120, 192.168.1.130,

 192.168.1.100

 用户真实IP为: 192.168.1.110

public static String getIpAddress(HttpServletRequest request) {
		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.getHeader("HTTP_CLIENT_IP");
		}
		if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
			ip = request.getHeader("HTTP_X_FORWARDED_FOR");
		}
		if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
			ip = request.getRemoteAddr();
		}
		return ip;
	}


总结

以上是编程之家为你收集整理的uniapp获取用户端真实IP地址全部内容,希望文章能够帮你解决uniapp获取用户端真实IP地址所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢寻找一群志同道合、互帮互助的学习伙伴,可以点击下方链接加入:
编程之家官方1群:1065694478(已满)
编程之家官方2群:163560250(已满)
编程之家官方3群:312128206(已满)
编程之家官方4群:230427597

相关文章

猜你在找的uniapp相关文章

第一次安装运行uni-app,居然出错如下图:满心欢喜想看看uni-app的Hello World,结果出现错误了,一脸懵逼啊,一行自己的代码都没有写,居然出错了!找了半天才发现,原来是需要在【微信开发者工具】里打开http或cli访问的开关,这个提示也太不友好了!!!具体步骤如下:双击运行微信开发者工具点击菜单栏的安全如下图:打开这个开关后,uni-app编译成功后,就会自动运行微信的cli命令,启动微信开发者工具了!...
如何在HBuilderX开发工具中实现自定义生成代码块的功能因为uListMedia不是内置组件,所以在你敲ulistmedia时看不到uListMedia的提示信息在学习uni-app官网视频教程中,可能作者是因录播时间有限,没时间展开说明uListMedia代码块是如何自定义的,这给所有入门的学习uni-app开发的人带来了困扰,特写此文,希望在你刚入门的这一刻能帮到你。自定义uListMedia代码块如下:"uListMedia": { "body": [ "&lt
uniapp如何获取ip?下面本篇文章给大家介绍一下uniapp获取ip的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
获取用户真实IP地址,不使用request.getRemoteAddr();的原因是有可能用户使用了代理软件方式避免真实IP地址, 参考文章:
总结/朱季谦 先前有一次做uni-app的js接口对接时,遇到过这样的情况,在for循环里,调用一个异步请求时,返回来的值顺序是乱的,因此,在以下的代码里,push到数组里的值,每次的顺序可能都是不一
这里总结一些uni-app开发时我遇到的坑 uni-app获取元素高度及屏幕高度(uni-app不可使用document) uni.getSystemInfo({ success: function(
在做用户登录的过程中,其实最重要的是登录成功后的数据要怎么储存,储存到哪里,这里我分享一个利用vuex来实现用户登录和用户数据留存的方法 vuex代码如下: //引入vue和vuex import V
应用生命周期(仅可在App.vue中监听) 页面生命周期(在页面中添加) 当页面中需要用到下拉刷新功能时,打开pages.json,在"globalStyle"里设置"e
微信公众号搜索 “ 程序精选 ” ,选择关注!
微信公众号搜 "程序精选"关注