一个例子是yts.mx ( YIFY torrenting site);如果你没有连接VPN,这个网站会将你重定向到一个警告不要使用你自己的IP的页面。
我猜这意味着这个站点知道你是否连接了VPN。这告诉我,有一种方法可以知道用户是否通过VPN连接。
发布于 2021-02-15 21:32:40
检测访问者是否在VPN后面的DIY方法是获取所有VPN服务使用的所有IP的列表,每天更新它们,因为它们不断变化,然后将访问者的IP与该列表进行比较。
你可以猜到网站并没有这样做,因为它代表了繁重的维护工作量。相反,它们使用专门分析IP地址的实时API,并拥有VPN服务使用的最新IP列表。
我的一个网站禁止访问VPN用户(因为地理位置很重要),所以我使用抽象IP地理位置API https://www.abstractapi.com/ip-geolocation-api。它包含一个字段,用于指示该IP是否属于VPN。
$ curl "https://ipgeolocation.abstractapi.com/v1/?api_key=KEY&ip_address=IP"
...
"security": {
"is_vpn": false
}
...
发布于 2021-02-20 20:15:38
您可以使用IP2Proxy Web服务,它每天都会使用最新的代理数据进行更新。
如果您没有自己的API密钥,可以从https://www.ip2location.com/web-service/ip2proxy获取,但出于测试目的,您可以使用演示密钥。
<?php
$json = file_get_contents('http://api.ip2proxy.com/?ip=8.8.8.8&key=demo&package=PX10');
$arr = json_decode($json, true);
if ($arr['response'] == 'OK') {
if ($arr['proxyType'] == 'VPN') {
echo "IP address is a VPN.\n";
}
else {
echo "IP address is not a VPN.\n";
}
}
else {
echo "Error.\n";
}
?>
https://stackoverflow.com/questions/63476920
复制相似问题