zoukankan      html  css  js  c++  java
  • wcf实现IP访问限制

    wcf开发应用程序的时候常常会遇到一个问题,就是如何只让指定的客户端访问服务,其他客户端禁止访问服务。因为很多时候我们这样做可以防止一系列的黑客攻击、及非法调用等。

    今天开心银光将介绍一种在wcf中取得访问端电脑的IP地址而进行过滤的方法,达到一定效果。这种方法对结合asp.net等web应用有很好的效果。

    因为asp.net的机制是一个特定的服务器访问wcf,而像silverlight等ria或普通的win程式就比较难达到效果,因为这样的客户端我们无法确定他的ip,目前大多数中国用户使用的都是adsl动态ip。

    所以此方案建议构建于asp.net结合的解决方案中。

    1.只需在wcf简单的几句代码即可取得访问端的IP地址:

     1:  [OperationContract]
     2:  public string GetCustomerIP()
     3:  {
     4:      string CustomerIP = "";
     5:  
     6:      if( HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null)
     7:          CustomerIP = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
     8:      else if (HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"] != null)                
     9:          CustomerIP = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
    10:      return CustomerIP;
    11:  }
    12:  

    以上代码即可取得调用端的ip地址。只要再作修改就可以成为限制IP访问wcf服务。须然IIS7也提供了IP访问限制功能,不过在部署方面让操作更简单。这也是一种很多的方案。希望本文对大家有所帮助。

  • 相关阅读:
    精益产品探索
    vue 之 pdf预览
    arcgis js 之 渔网工具(调用地图服务)
    arcgis js之卷帘工具
    arcgis js之调用wms服务
    vue-cli3 本地数据模拟后台接口
    cmd设置电脑自动关机
    Arcgis js之web墨卡托(3857)转经纬度坐标(4326)
    arcgis js之地图分屏同步
    arcgis之gp服务发布
  • 原文地址:https://www.cnblogs.com/jacle169/p/2810783.html
Copyright © 2011-2022 走看看