使用Request.UserHostAddress可获得远程主机IP
然后可以使用switch(Request.UserHostAddress)...
对你想过滤的IP进行相应处理!
如果只想让本地程序调用,可用Request.IsLocal判断。
我在cnblogs上已经回答过一个很Web Service 的安全问题了,你这个问题是限制IP,这个属于其中的一个措施~http://space.cnblogs.com/question/6951/;webservice加密技术(msdn)
Web Service 安全解决方案很多,总体来分,
1.借助IIS的安全机制(操作简单,和管理网站类似),这里可以直接限制IP.
2. 在WebMethod方法钱加入,代码获取客户端IP:CustomerIP=HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString()。判断其符合要求与否
3.就是借助WSE3.0,它提供了更加丰富的安全策略和配置方案。你可以定义一个安全模块,来实现对IP的验证。
补充一下:
我的博客里有关于Web Service和WSE3.0构建Web 服务安全的系列文章。基本都给出了详细的概念介绍和开发配置过程。还有部分示例代码,可以参考。
2.WSE3.0构建Web服务安全(1):WSE3.0安全机制与实例开发
3.NET中Web Service和Web Form获得客户端IP的方法:http://blog.csdn.net/lhsxsh/archive/2008/11/01/3199911.aspx
希望对你有所帮助~