如何阻止一个国家​​使用客户端代码访问网站

时间:2013-01-14 19:05:48

标签: javascript jquery html geolocation

我用谷歌搜索了很长时间才达到目标,但是徒劳无功。

我有一个博客博客,我已经购买了一个自定义域名。

不幸的是,据我所知,我不认为博客支持php或.htaccess或类似的东西。

我认为它仅支持htmlcssjavascriptjqueryajax等基本内容......服务器端无需支持我猜是可能的(即:php)。

我想阻止某个国家访问我的网站。有没有办法使用简单的客户端代码?

3 个答案:

答案 0 :(得分:3)

您可以使用访问者的IP地址并对其进行地理位置搜索。

将此问题发送至Get Client IP using just Javascript?,然后您可以将其传递给freegeoip等服务以获取相关信息。

从他们的主页:

http://freegeoip.net/json/google.com?callback=show

结果:

show({"city": "Mountain View", "region_code": "CA", "region_name": "California", "metrocode": "807", "zipcode": "94043", "longitude": "-122.057", "country_name": "United States", "country_code": "US", "ip": "209.85.145.147", "latitude": "37.4192"});

当然,您可以使用访问者的IP替换google.com

答案 1 :(得分:0)

有一些第三方api可以帮助您检测国家/地区。您可以使用以下代码来检测国家/地区

$.getJSON('http://api.wipmania.com/jsonp?callback=?', function (data) {
  alert('Latitude: ' + data.latitude +
        '\n Longitude: ' + data.longitude +
        '\n Country: ' + data.address.country);
});

但是,人们可以禁用javascript进入您的网站。你应该从服务器上阻止它。

答案 2 :(得分:-1)

使用找到Simplest way to detect client locale in PHP的帖子来检测国家/地区。然后根据国家/地区停止处理页面,重定向或阻止等。或者基于您的服务器语言类似。