通过对来源IP的检查来进行验证,我们只允许指定IP的服务器来访问,保证点对点的安全,我们可以在Web Service的方法中加入对IP的检查。
- bool ValidateIP(int UserID, out string exceptionInfo)
- {
- exceptionInfo = "";
- string uip = HttpContext.Current.Request.UserHostAddress;
- Common dal = new Common();
- List<string> ips = dal.GetPermitIp(UserID);//得到该用户ID所允许的IP列表
- if (ips == null || ips.Count == 0)
- {
- exceptionInfo = "调用Web服务的客户端IP未被允许,无法访问!";
- return false;
- }
- if (ips.Contains(uip)) //允许IP列表中包含该IP
- {
- return true;
- }
- exceptionInfo = "调用Web服务的客户端IP未被允许,无法访问!";
- return false;
- }
在具体Web方法里调用该方法检查用户访问者是否是以我们允许的IP进行访问的,以确保安全。
优点:简单,防止非指定客户机器访问。
缺点:IP是可以伪造的;维护IP地址表比较烦琐。且只适合于固定IP访问者的情况。