使用webapi时有时会为了数据安全性加以访问者ip验证,就需要在API项目中进行处理

  1. 获取访问者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?)$");}
  1. 给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();}}}
  1. 3.

c# MVC API 获取访问者IP 并加以验证相关推荐

  1. html获取访客ip,jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)

    本文实例讲述了jQuery获取访问者IP地址的方法.分享给大家供大家参考,具体如下: $(document).ready(function(){ //通过调用新浪IP地址库接口查询用户当前所在国家.省 ...

  2. 实践:nginx代理,通过使用GeoIp模块获取访问者IP及访问地区信息

    目录 前言 一.在Linux中创建存放nginx模块文件夹 存在就不需要再次创建. 将所有nginx额外模块包都放到这个目录下 二.配置host文件代理,避免访问github太慢(已配置了跳过) 三. ...

  3. php获取访问者ip地址,PHP获取访问者IP地址的二种方法

    本节内容: PHP获取访问者IP地址 方法一:$_SERVER['HTTP_X_FORWARDED_FOR']来获取相应的地址 复制代码 代码示例: function get_onlineip() { ...

  4. 第三方免费开放API 获取用户IP 并查询其地理位置

    需求:有一个项目是微信公众号,属于汽车服务.当车主在填写车主资料或者车辆认证时,需要填写车牌号或者车架号:车牌号需要选择省,为了方便用户操作,所以想自动定位默认省,如下图: 我查询了一些博客,找到了一 ...

  5. php获取访问者ip地址汇总,php获取访问者IP地址汇总_PHP

    //方法1: $ip = $_SERVER["REMOTE_ADDR"]; echo $ip; //方法2: 代码如下: $user_IP = ($_SERVER["HT ...

  6. Javascrit通过百度地图API获取客户端IP、地址

    <script>var _script = document.createElement('script');_script.type = "text/javascript&qu ...

  7. 新浪微博API获取评论数据(转载+验证+整理)

    环境: ubuntu 18.10 python 3.6 pip install sinaweibopy3 说下: m.weibo.cn weibo.cn weibo.com 我们只使用第一个,用来获取 ...

  8. C# 通过百度地图API,获取访问IP详细地址(上网IP的大致位置信息,一般为城市级别)

    1.创建接受Json格式数据类 namespace BaiduMap {[Serializable]public class IpLocationResult{/// <summary>/ ...

  9. 前端页面获取访问者的IP地址、经纬度和地理位置

    目录 前言 前期准备 注册成为开发者,获取Key IP定位和逆地理编码API文档 思路讲解 1.IP地址获取 2.IP定位获取经纬度 3.逆地理编码获取地理位置 代码实现 本地运行版 新版 旧版本(已 ...

最新文章

  1. 勒索软件出新招,小心你的隐私和財产安全!
  2. 用SHELL脚本来防SSH和vsftpd暴力破解(第②版)
  3. 网易云信走进浙大| 如何从0到1打造属于你的产品?
  4. ARM 汇编语言入门
  5. sys.dm_exec_query_stats的total_worker_time的单位是微秒还是毫秒
  6. 针对科技文章的多标签分类
  7. Code First 下自动更新数据库结构(Automatic Migrations)
  8. VS C#/C++ 工具箱显示出来 工具箱不见了
  9. 长安大学微型计算机原理与接口技术答案,长安大学微机原理与接口技术AB卷试题与答案.doc...
  10. 阳光温暖了心情的博客
  11. Paddlenlp之UIE分类模型【以情感倾向分析新闻分类为例】含智能标注方案)
  12. Frequency domain enhancement
  13. 做wifi微信认证服务器,怎么实施微信WiFi认证-微信认证的特点
  14. 顶尖领导者的52条法则!
  15. 过支付宝反Xposed登录检测
  16. 安卓 获取机身内存,可用内存;运行内存,剩余内
  17. 塑料回收标志相关知识
  18. 项目管理绝版秘籍——IT项目管理全套127个表格文档
  19. WKWebView高级使用
  20. moon服务器 zerotier_在Server上搭建Zerotier的Moon节点;加快访问速度

热门文章

  1. 录取为2021年同济大学秋季博士研究生(电子与信息工程学院计算机科学与技术)
  2. 【证明】矩阵的特征值即其相似对角矩阵主对角线的元素
  3. 如果人工智能迎来下一个寒冬,你认为会是卡在什么问题上?
  4. 小学计算机软件介绍ppt,小学信息技术优秀课件
  5. Scalar-multiplication算法集
  6. 邮件发送:Could not connect to SMTP host: 10.0.76.11, port: 25
  7. 【C语言】案例五十 歌曲管理系统
  8. Fisco技术文档总结1---搭建第一个区块链网络
  9. Python简单绘图一
  10. 如何运用计算机辅助英语教学,谈英语计算机辅助教学 (中学英语教学论文)