我在IIS中部署了.net应用程序。它只能在印度境内访问。如果请求来自印度以外,我们必须禁止它。阻止IP地址在印度
IIS有一个允许或拒绝基于IP地址范围的选项。但是,我需要知道在印度
的IP地址范围请建议...
我在IIS中部署了.net应用程序。它只能在印度境内访问。如果请求来自印度以外,我们必须禁止它。阻止IP地址在印度
IIS有一个允许或拒绝基于IP地址范围的选项。但是,我需要知道在印度
的IP地址范围请建议...
您必须使用一些第三方API像IP Address Geolocation XML API你cannnot从IP编辑部地址直接识别的国家。以下是关于如何使用IP地址查找国家的example。
从源头上找国的代码是这样的:
using System.Net;
using System.IO;
using System.Xml;
using System.Collections.Specialized;
public class CountryIP {
public string GetCountryByIP(string ipAddress) {
string ipResponse = IPRequestHelper("http://ipinfodb.com/ip_query_country.php?ip=", ipAddress);
XmlDocument ipInfoXML = new XmlDocument();
ipInfoXML.LoadXml(ipResponse);
XmlNodeList responseXML = ipInfoXML.GetElementsByTagName("Response");
NameValueCollection dataXML = new NameValueCollection();
dataXML.Add(responseXML.Item(0).ChildNodes(2).InnerText, responseXML.Item(0).ChildNodes(2).Value);
string xmlValue = dataXML.Keys(0);
return xmlValue;
}
public string IPRequestHelper(string url, string ipAddress) {
string checkURL = url + ipAddress;
HttpWebRequest objRequest = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse objResponse = (HttpWebResponse)objRequest.GetResponse();
StreamReader responseStream = new StreamReader(objResponse.GetResponseStream());
string responseRead = responseStream.ReadToEnd();
responseStream.Close();
responseStream.Dispose();
return responseRead;
}
}
其他一些API像HostIp.Info
谢谢。实际上我们的项目是银行业。所以他们不会允许我们出于安全原因而致电第三方API。 –
@sankarapandian: - 我担心,如果不使用任何外部API,您将无法实现该功能,因为只使用IP地址而无需使用任何API即无法识别国家/地区。 –
你必须在应用程序中做到这一点,但它足够简单。
BeginRequest
事件。然后使用Hola(this is a referral-link for a free trial on their premium service,但其真正的免费服务可能足以满足您的需求)的代理服务从不同的国家进行测试。
(当然,同样,你阻止的人可以使用完全相同的方法来解决你的限制)。
由于geo-ip数据库往往并不完美,因此会出现一些假阳性和假阴性。例如。在爱尔兰都柏林有一家我认识的公司,他们的办公室似乎就在法国巴黎郊外,因为他们使用了法国母公司的一部分子公司,等等。
谢谢。实际上我们的项目是银行业。所以他们不会允许我们出于安全原因而致电第三方API。 –
然后,“获取Geo-IP数据库或访问Geo-IP Web服务”变为“获取Geo-IP数据库”。有像MaxMind这样的公司会授权您可以托管自己的数据库,并提供更新以保持您的信息最新。 –
@sankarapandian: - 乔恩在谈论这个:http://dev.maxmind.com/geoip/legacy/geolite/ –
看看这里。 [限制网站访问特定国家](http://stackoverflow.com/questions/8384421/restrict-website-to-access-specific-country) –