2012-03-29 79 views
-1

所以我要检查,如果用户是在特定的县是否可以在不使用GeoIP的情况下检查IP地址是否来自特定国家?

$ip = user ip; 
$countryIP = some number; 

    if($ip == $countryIP){echo 'okey';} else {echo 'not okey';} 

我不想因为我需要它只有一个country.Also我不想使用第三方服务来使用数据库的地理位置。

例如abc.go.com/watch是只适用于美国,我想要做类似

谢谢:)

+0

的主要问题是,虽然大多数IP地址已经被分配给各个国家,某些块都没有;此外,一些分配会发生变化,因此您需要定期更新代码。你最好的办法是获得一个IP地址分配的本地数据库,并检查它。如果你告诉我们你以后在哪个国家,我可以进一步帮助 – 2012-03-29 13:45:17

+0

该国是保加利亚。现在我检查countryipblocks.net,我复制一些ip然后把它们放入数组,并检查我的IP地址是否存在。但是,这剂量工作,因为我的ip是77.85.79.45,但在阻止列表中是77.85.0.0/16 – Ben 2012-03-29 14:17:30

+0

我不明白为什么问题是downvoted。 – 2012-03-29 14:26:02

回答

1

好吧,只要你满意的检查保加利亚对你表示块,那么你就可以做到这一点相当简单 - 所有你需要做的是转换IP地址到数字符号。

77.85.0.0/16指从77.85.0.0到77.85.255.255任何代码 - 现在这些转换为数值:

77*256^3+85*256^2+0*256+0 = 1297416192 
77*256^3+85*256^2+255*256+255 = 1297481727 

现在转换你想以同样的方式来检查IP - 和验证它是在这两个数字之间。当然,这不像你说的那么简单。保加利亚有400多个不同的街区。如果你关心这一切,下面是他们的数字表示的完整列表(截至最新更新)。检查一下,比如,在这里:http://www.countryipblocks.net/country-blocks/select-formats/

# Country: BULGARIA 
# ISO Code: BG 
# Total Networks: 497 
# Total Subnets: 4,148,224 
31.13.192.0/18 
31.41.16.0/21 
31.211.128.0/19 
37.60.136.0/21 
37.63.0.0/17 
37.130.240.0/21 
37.157.136.0/21 
37.157.160.0/19 
46.10.0.0/16 
46.16.192.0/21 
46.35.160.0/19 
46.40.64.0/18 
46.47.64.0/18 
46.55.128.0/17 
46.229.192.0/20 
46.232.152.0/21 
46.233.0.0/18 
46.237.64.0/18 
46.238.0.0/18 
46.249.64.0/19 
46.252.48.0/20 
46.253.0.0/20 
46.254.128.0/21 
62.44.96.0/19 
62.73.64.0/18 
62.176.64.0/19 
62.176.96.0/19 
62.182.112.0/21 
62.204.128.0/19 
62.213.160.0/19 
62.221.128.0/19 
77.70.0.0/17 
77.71.0.0/17 
77.76.0.0/18 
77.76.128.0/18 
77.77.0.0/18 
77.77.128.0/18 
77.78.0.0/18 
77.78.128.0/18 
77.85.0.0/16 
77.95.232.0/21 
77.236.160.0/19 
77.238.64.0/19 
77.246.208.0/20 
78.40.136.0/21 
78.83.0.0/16 
78.90.0.0/16 
78.108.240.0/20 
78.128.0.0/17 
78.130.128.0/17 
78.142.0.0/18 
78.154.0.0/19 
78.159.128.0/19 
79.100.0.0/16 
79.110.112.0/20 
79.124.0.0/18 
79.124.64.0/19 
79.132.0.0/19 
79.134.32.0/19 
79.134.160.0/19 
80.72.64.0/20 
80.72.80.0/20 
80.78.224.0/20 
80.80.128.0/20 
80.80.144.0/20 
80.95.16.0/20 
80.253.48.0/20 
81.161.240.0/20 
82.101.64.0/18 
82.103.64.0/18 
82.118.224.0/19 
82.119.64.0/19 
82.137.64.0/18 
82.146.0.0/19 
82.147.128.0/19 
82.199.192.0/19 
83.97.24.0/21 
83.97.64.0/21 
83.142.16.0/21 
83.143.144.0/21 
83.143.176.0/21 
83.143.248.0/21 
83.148.64.0/18 
83.222.160.0/19 
83.228.0.0/17 
84.21.192.0/19 
84.22.0.0/19 
84.38.240.0/20 
84.40.64.0/18 
84.43.128.0/17 
84.54.128.0/18 
84.201.192.0/20 
84.238.128.0/17 
84.242.128.0/18 
84.252.0.0/18 
85.11.128.0/18 
85.14.0.0/18 
85.91.128.0/19 
85.95.64.0/19 
85.118.64.0/19 
85.118.192.0/21 
85.130.0.0/17 
85.187.0.0/16 
85.196.128.0/18 
85.217.128.0/17 
85.239.128.0/19 
85.255.128.0/20 
85.255.160.0/20 
87.97.128.0/17 
87.116.64.0/18 
87.118.128.0/18 
87.119.64.0/18 
87.120.0.0/16 
87.121.0.0/16 
87.126.0.0/16 
87.227.128.0/17 
87.239.152.0/21 
87.246.0.0/18 
87.247.248.0/21 
87.252.160.0/19 
87.254.160.0/19 
88.80.96.0/19 
88.80.128.0/19 
88.87.0.0/19 
88.203.128.0/17 
88.213.192.0/18 
89.25.0.0/17 
89.106.96.0/19 
89.186.192.0/19 
89.190.192.0/19 
89.215.0.0/16 
89.252.192.0/18 
89.253.128.0/18 
90.154.128.0/17 
91.92.0.0/16 
91.134.0.0/16 
91.139.128.0/17 
91.148.128.0/18 
91.191.208.0/20 
91.192.236.0/22 
91.193.156.0/22 
91.193.200.0/22 
91.195.24.0/23 
91.196.64.0/22 
91.196.124.0/22 
91.196.224.0/22 
91.198.119.0/24 
91.198.132.0/24 
91.198.181.0/24 
91.198.228.0/24 
91.199.36.0/24 
91.199.128.0/24 
91.199.150.0/24 
91.199.237.0/24 
91.199.247.0/24 
91.201.172.0/22 
91.204.156.0/22 
91.206.20.0/23 
91.206.138.0/23 
91.207.190.0/23 
91.209.8.0/24 
91.209.21.0/24 
91.209.146.0/24 
91.210.88.0/22 
91.211.108.0/22 
91.211.188.0/22 
91.211.232.0/22 
91.212.13.0/24 
91.212.17.0/24 
91.212.37.0/24 
91.212.163.0/24 
91.212.201.0/24 
91.212.233.0/24 
91.212.235.0/24 
91.213.12.0/24 
91.215.216.0/22 
91.216.71.0/24 
91.216.95.0/24 
91.216.174.0/24 
91.216.253.0/24 
91.217.148.0/24 
91.217.205.0/24 
91.217.215.0/24 
91.218.80.0/22 
91.220.176.0/24 
91.220.189.0/24 
91.221.254.0/23 
91.222.20.0/22 
91.223.66.0/24 
91.226.226.0/23 
91.228.38.0/24 
91.230.6.0/23 
91.230.192.0/22 
91.230.230.0/24 
91.230.231.0/24 
91.232.209.0/24 
91.233.32.0/24 
91.234.19.0/24 
91.234.21.0/24 
91.234.92.0/22 
91.235.164.0/24 
91.235.248.0/22 
91.236.144.0/22 
91.237.56.0/22 
91.237.102.0/23 
92.62.240.0/20 
92.247.0.0/16 
93.93.8.0/21 
93.94.136.0/21 
93.123.0.0/17 
93.152.128.0/17 
93.155.128.0/17 
93.183.128.0/18 
94.26.0.0/17 
94.72.128.0/18 
94.73.0.0/18 
94.101.192.0/20 
94.139.192.0/19 
94.155.0.0/16 
94.156.0.0/16 
94.190.128.0/17 
94.236.128.0/17 
95.42.0.0/16 
95.43.0.0/16 
95.87.0.0/18 
95.87.192.0/18 
95.111.0.0/17 
95.140.208.0/20 
95.158.128.0/18 
95.168.224.0/19 
95.169.192.0/19 
109.104.192.0/19 
109.107.64.0/19 
109.120.192.0/18 
109.121.128.0/18 
109.121.192.0/18 
109.160.0.0/17 
109.199.128.0/19 
109.199.224.0/19 
128.140.176.0/20 
130.185.192.0/18 
130.204.0.0/16 
145.255.192.0/19 
149.62.192.0/18 
158.58.192.0/18 
164.138.216.0/21 
176.12.0.0/18 
176.67.232.0/21 
176.222.0.0/20 
178.16.128.0/20 
178.75.192.0/18 
178.132.80.0/21 
178.169.128.0/17 
178.239.112.0/20 
178.239.224.0/20 
178.249.168.0/21 
178.254.192.0/18 
188.124.64.0/19 
188.126.0.0/19 
188.127.64.0/19 
188.254.128.0/17 
192.58.32.0/22 
192.92.129.0/24 
192.162.231.0/24 
193.9.16.0/24 
193.16.102.0/24 
193.16.157.0/24 
193.16.246.0/24 
193.17.229.0/24 
193.19.172.0/22 
193.22.103.0/24 
193.22.248.0/24 
193.23.52.0/24 
193.24.240.0/22 
193.25.162.0/23 
193.26.14.0/24 
193.26.216.0/24 
193.28.250.0/24 
193.29.55.0/24 
193.30.228.0/22 
193.36.35.0/24 
193.37.238.0/24 
193.41.64.0/22 
193.41.182.0/23 
193.41.188.0/22 
193.43.26.0/24 
193.47.74.0/24 
193.68.0.0/19 
193.68.96.0/19 
193.68.128.0/17 
193.84.86.0/24 
193.93.24.0/22 
193.104.79.0/24 
193.104.165.0/24 
193.105.60.0/24 
193.105.148.0/24 
193.105.151.0/24 
193.105.196.0/24 
193.107.36.0/22 
193.107.68.0/22 
193.108.24.0/24 
193.108.32.0/23 
193.109.54.0/23 
193.110.82.0/24 
193.110.132.0/24 
193.110.159.0/24 
193.110.216.0/21 
193.111.89.0/24 
193.111.194.0/23 
193.138.67.0/24 
193.142.0.0/24 
193.150.67.0/24 
193.151.20.0/22 
193.151.80.0/22 
193.160.159.0/24 
193.161.192.0/24 
193.164.222.0/23 
193.169.198.0/23 
193.178.152.0/23 
193.178.166.0/24 
193.178.222.0/24 
193.186.38.0/24 
193.192.48.0/23 
193.192.56.0/23 
193.193.162.0/23 
193.193.164.0/24 
193.193.182.0/24 
193.194.140.0/23 
193.194.156.0/24 
193.200.1.0/24 
193.200.2.0/24 
193.200.8.0/24 
193.200.12.0/24 
193.200.14.0/23 
193.200.16.0/23 
193.200.24.0/24 
193.200.28.0/24 
193.201.114.0/23 
193.201.172.0/24 
193.201.240.0/22 
193.202.108.0/24 
193.203.198.0/23 
193.218.0.0/24 
193.228.152.0/24 
193.254.29.0/24 
194.0.32.0/24 
194.0.235.0/24 
194.8.4.0/24 
194.8.53.0/24 
194.8.60.0/24 
194.9.6.0/23 
194.12.224.0/19 
194.34.12.0/24 
194.36.167.0/24 
194.48.206.0/24 
194.50.73.0/24 
194.50.76.0/24 
194.50.122.0/24 
194.54.140.0/22 
194.63.136.0/22 
194.79.12.0/22 
194.88.228.0/23 
194.88.250.0/23 
194.110.205.0/24 
194.141.0.0/19 
194.141.32.0/19 
194.141.64.0/18 
194.141.128.0/17 
194.145.63.0/24 
194.145.160.0/22 
194.146.232.0/22 
194.150.116.0/22 
194.150.180.0/23 
194.153.118.0/24 
194.153.145.0/24 
194.169.231.0/24 
194.187.132.0/22 
194.246.110.0/23 
195.8.222.0/23 
195.10.193.0/24 
195.20.20.0/22 
195.20.24.0/22 
195.22.146.0/23 
195.24.32.0/19 
195.24.88.0/21 
195.28.6.0/23 
195.34.96.0/19 
195.35.84.0/24 
195.39.198.0/23 
195.39.212.0/23 
195.42.142.0/23 
195.47.193.0/24 
195.54.44.0/23 
195.62.22.0/23 
195.64.160.0/23 
195.66.125.0/24 
195.68.200.0/23 
195.68.214.0/23 
195.69.108.0/22 
195.69.120.0/22 
195.69.164.0/22 
195.72.112.0/24 
195.74.85.0/24 
195.85.215.0/24 
195.88.74.0/23 
195.88.140.0/23 
195.96.224.0/19 
195.110.24.0/23 
195.114.112.0/23 
195.128.132.0/24 
195.128.134.0/24 
195.128.224.0/23 
195.137.252.0/23 
195.138.128.0/19 
195.149.71.0/24 
195.149.248.0/21 
195.162.72.0/23 
195.170.166.0/24 
195.170.178.0/24 
195.177.218.0/23 
195.177.248.0/23 
195.178.8.0/23 
195.178.98.0/23 
195.178.116.0/23 
195.182.41.0/24 
195.182.44.0/24 
195.189.80.0/22 
195.189.224.0/23 
195.191.34.0/23 
195.191.60.0/23 
195.191.94.0/23 
195.191.148.0/23 
195.214.248.0/21 
195.216.228.0/24 
195.225.51.0/24 
195.225.124.0/22 
195.225.252.0/22 
195.230.0.0/19 
195.234.84.0/22 
195.234.236.0/22 
195.238.84.0/23 
195.242.106.0/23 
195.242.126.0/23 
195.242.240.0/22 
195.246.240.0/23 
212.5.32.0/19 
212.5.128.0/19 
212.21.128.0/19 
212.25.32.0/19 
212.36.0.0/19 
212.39.64.0/19 
212.43.32.0/19 
212.45.64.0/19 
212.50.0.0/19 
212.50.64.0/19 
212.56.0.0/19 
212.70.128.0/19 
212.72.192.0/19 
212.73.128.0/19 
212.75.0.0/19 
212.91.160.0/19 
212.95.160.0/19 
212.104.96.0/19 
212.116.128.0/19 
212.117.32.0/19 
212.122.160.0/19 
212.124.64.0/19 
212.233.128.0/17 
213.16.32.0/19 
213.91.128.0/17 
213.108.240.0/21 
213.130.64.0/19 
213.137.32.0/19 
213.145.96.0/19 
213.149.128.0/19 
213.167.0.0/19 
213.169.32.0/19 
213.191.192.0/19 
213.214.64.0/19 
213.222.32.0/19 
213.226.0.0/19 
213.226.32.0/19 
213.231.128.0/18 
213.240.192.0/18 
217.9.224.0/20 
217.10.240.0/20 
217.18.240.0/20 
217.30.208.0/20 
217.75.128.0/20 
217.75.144.0/20 
217.79.32.0/20 
217.79.64.0/20 
217.79.80.0/20 
217.145.80.0/20 
217.145.160.0/20 
217.174.48.0/20 
217.174.144.0/20 
+0

问题是,我想检查我的用户是来自BG,然后设置网站语言为BG,如果没有将其设置为EN。所以.htaccess不能完成这项工作。 – Ben 2012-03-29 14:43:28

+1

.htaccess与你的问题有什么关系?你问如何检查对一个国家的知识产权 - 你有答案。现在使用这些信息来识别用户来自哪个国家,根据这些信息做你需要的任何事情。 – 2012-03-29 14:49:35

2

有没有办法找出的东西,如果一个IP地址被分配到一个特定的国家,而不用执行GeoIP。

相关问题