2

我希望使用 PHP 和 JavaScript 来实施“Cookie 法”。我认为让来自其他大陆的用户在打开我的网站时填写表格是没有意义的,但不幸的是欧盟需要。

我尝试搜索欧洲的 IP 范围,但一无所获。

我知道我可以使用 explode() 和 $_SERVER['remote_addr'] 和 substr() 来隔离特定的 IP 范围我面临的问题是将哪些 IP 列入黑名单,即 194.XXX.XXX.XXX - 198.XXX.XXX .XXX?

另外,实现这一点的最佳方法是什么,使用 if else 语句会起作用吗?我的意思是如果用户在欧洲,显示一些 JS,如果用户在另一个显示一些其他 JS。

提前致谢!

4

2 回答 2

5

您可以使用 GeoLocation 数据库使用 PHP 中的 REMOTE_ADDR 检查国家/地区。

例如GeoLite提供了一个 PHP API 库

于 2012-08-02T00:25:54.917 回答
0
$ip = $_SERVER['REMOTE_ADDR'];

$country = file_get_contents("http://api.wipmania.com/".$ip."?[YOUR SITE URL]");

$eu_countries = array("BE", "BG", "CZ", "DK", "DE", "EE", "IE", "EL", "ES", "FR", "HR", "IT", "CY", "LV", "LT", "LU", "HU", "MT", "NL", "AT", "PL", "PT", "RO", "SI", "SK", "FI", "SE");

$checked = in_array(strtoupper($country), $eu_countries);
于 2020-02-22T12:02:24.663 回答