wcf实现IP访问限制
2012-12-10 09:14
239 查看
wcf开发应用程序的时候常常会遇到一个问题,就是如何只让指定的客户端访问服务,其他客户端禁止访问服务。因为很多时候我们这样做可以防止一系列的黑客攻击、及非法调用等。
今天开心银光将介绍一种在wcf中取得访问端电脑的IP地址而进行过滤的方法,达到一定效果。这种方法对结合asp.net等web应用有很好的效果。
因为asp.net的机制是一个特定的服务器访问wcf,而像silverlight等ria或普通的win程式就比较难达到效果,因为这样的客户端我们无法确定他的ip,目前大多数中国用户使用的都是adsl动态ip。
所以此方案建议构建于asp.net结合的解决方案中。
1.只需在wcf简单的几句代码即可取得访问端的IP地址:
以上代码即可取得调用端的ip地址。只要再作修改就可以成为限制IP访问wcf服务。须然IIS7也提供了IP访问限制功能,不过在部署方面让操作更简单。这也是一种很多的方案。希望本文对大家有所帮助。
今天开心银光将介绍一种在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访问限制功能,不过在部署方面让操作更简单。这也是一种很多的方案。希望本文对大家有所帮助。
相关文章推荐
- PHP实现限制IP访问及提交次数的方法详解
- Tomcat中实现IP访问限制
- Asp下实现限制IP访问的程序代码
- WCF 之 限制IP访问
- Tomcat中实现IP访问限制
- asp实现限制一个ip只能访问一次的方法
- Asp下实现限制IP访问的程序代码
- 用asp脚本实现限制IP访问
- Tomcat中实现IP访问限制--实现代理访问
- Tomcat中实现IP访问限制
- ipset-linux防火墙的扩展实现对指定ip的限制访问
- Tomcat中实现IP访问限制
- Tomcat中实现IP访问限制
- PHP实现redis限制单ip、单用户的访问次数功能
- 用ASP代码实现对IP的访问限制的代码
- Tomcat中实现IP访问限制
- Tomcat中实现IP访问限制
- Java通过redis实现接口ip访问频率限制
- SpringBoot实现限制ip访问次数
- PHP实现redis限制单ip、单用户的访问次数功能示例