c# MVC API 获取访问者IP 并加以验证
使用webapi时有时会为了数据安全性加以访问者ip验证,就需要在API项目中进行处理
- 获取访问者IP地址 代码直接上 不罗嗦
/// <summary>/// 获取访问者IP地址/// </summary>/// <returns></returns>public static string GetHostAddress(){string userIP = "127.0.0.1";try{if (System.Web.HttpContext.Current == null || System.Web.HttpContext.Current.Request == null || System.Web.HttpContext.Current.Request.ServerVariables == null)return "";string CustomerIP = "";//CDN加速后取到的IP CustomerIP = System.Web.HttpContext.Current.Request.Headers["Cdn-Src-Ip"];if (!string.IsNullOrEmpty(CustomerIP)){return CustomerIP;}CustomerIP = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];if (!String.IsNullOrEmpty(CustomerIP))return CustomerIP;if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_VIA"] != null){CustomerIP = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];if (CustomerIP == null)CustomerIP = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];}else{CustomerIP = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];}if (string.Compare(CustomerIP, "unknown", true) == 0)return System.Web.HttpContext.Current.Request.UserHostAddress;return CustomerIP;}catch { }return userIP;}/// <summary>/// 检查IP地址格式/// </summary>/// <param name="ip"></param>/// <returns></returns>public static bool IsIP(string ip){return System.Text.RegularExpressions.Regex.IsMatch(ip, @"^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$");}
- 给WebAPI 添加过滤
public class CheckSecurityFilter : AuthorizeAttribute{private HttpContext Context{get { return HttpContext.Current; }}public override void OnAuthorization(HttpActionContext actionContext){//检查IP if (!CheckIP()){HandleUnauthorizedRequest(actionContext);Context.Response.Write("当前IP没有权限!");Context.Response.End();}}}
- 3.
c# MVC API 获取访问者IP 并加以验证相关推荐
- html获取访客ip,jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
本文实例讲述了jQuery获取访问者IP地址的方法.分享给大家供大家参考,具体如下: $(document).ready(function(){ //通过调用新浪IP地址库接口查询用户当前所在国家.省 ...
- 实践:nginx代理,通过使用GeoIp模块获取访问者IP及访问地区信息
目录 前言 一.在Linux中创建存放nginx模块文件夹 存在就不需要再次创建. 将所有nginx额外模块包都放到这个目录下 二.配置host文件代理,避免访问github太慢(已配置了跳过) 三. ...
- php获取访问者ip地址,PHP获取访问者IP地址的二种方法
本节内容: PHP获取访问者IP地址 方法一:$_SERVER['HTTP_X_FORWARDED_FOR']来获取相应的地址 复制代码 代码示例: function get_onlineip() { ...
- 第三方免费开放API 获取用户IP 并查询其地理位置
需求:有一个项目是微信公众号,属于汽车服务.当车主在填写车主资料或者车辆认证时,需要填写车牌号或者车架号:车牌号需要选择省,为了方便用户操作,所以想自动定位默认省,如下图: 我查询了一些博客,找到了一 ...
- php获取访问者ip地址汇总,php获取访问者IP地址汇总_PHP
//方法1: $ip = $_SERVER["REMOTE_ADDR"]; echo $ip; //方法2: 代码如下: $user_IP = ($_SERVER["HT ...
- Javascrit通过百度地图API获取客户端IP、地址
<script>var _script = document.createElement('script');_script.type = "text/javascript&qu ...
- 新浪微博API获取评论数据(转载+验证+整理)
环境: ubuntu 18.10 python 3.6 pip install sinaweibopy3 说下: m.weibo.cn weibo.cn weibo.com 我们只使用第一个,用来获取 ...
- C# 通过百度地图API,获取访问IP详细地址(上网IP的大致位置信息,一般为城市级别)
1.创建接受Json格式数据类 namespace BaiduMap {[Serializable]public class IpLocationResult{/// <summary>/ ...
- 前端页面获取访问者的IP地址、经纬度和地理位置
目录 前言 前期准备 注册成为开发者,获取Key IP定位和逆地理编码API文档 思路讲解 1.IP地址获取 2.IP定位获取经纬度 3.逆地理编码获取地理位置 代码实现 本地运行版 新版 旧版本(已 ...
最新文章
- 勒索软件出新招,小心你的隐私和財产安全!
- 用SHELL脚本来防SSH和vsftpd暴力破解(第②版)
- 网易云信走进浙大| 如何从0到1打造属于你的产品?
- ARM 汇编语言入门
- sys.dm_exec_query_stats的total_worker_time的单位是微秒还是毫秒
- 针对科技文章的多标签分类
- Code First 下自动更新数据库结构(Automatic Migrations)
- VS C#/C++ 工具箱显示出来 工具箱不见了
- 长安大学微型计算机原理与接口技术答案,长安大学微机原理与接口技术AB卷试题与答案.doc...
- 阳光温暖了心情的博客
- Paddlenlp之UIE分类模型【以情感倾向分析新闻分类为例】含智能标注方案)
- Frequency domain enhancement
- 做wifi微信认证服务器,怎么实施微信WiFi认证-微信认证的特点
- 顶尖领导者的52条法则!
- 过支付宝反Xposed登录检测
- 安卓 获取机身内存,可用内存;运行内存,剩余内
- 塑料回收标志相关知识
- 项目管理绝版秘籍——IT项目管理全套127个表格文档
- WKWebView高级使用
- moon服务器 zerotier_在Server上搭建Zerotier的Moon节点;加快访问速度
热门文章
- 录取为2021年同济大学秋季博士研究生(电子与信息工程学院计算机科学与技术)
- 【证明】矩阵的特征值即其相似对角矩阵主对角线的元素
- 如果人工智能迎来下一个寒冬,你认为会是卡在什么问题上?
- 小学计算机软件介绍ppt,小学信息技术优秀课件
- Scalar-multiplication算法集
- 邮件发送:Could not connect to SMTP host: 10.0.76.11, port: 25
- 【C语言】案例五十 歌曲管理系统
- Fisco技术文档总结1---搭建第一个区块链网络
- Python简单绘图一
- 如何运用计算机辅助英语教学,谈英语计算机辅助教学 (中学英语教学论文)