поэтому у меня есть страница загрузки для моего веб-сайта, и я получил где-то скрипт, который использует getipintel, чтобы увидеть, если пользователь использует vpn. Мне было интересно, как я включил бы это в мою страницу загрузки, чтобы при первой загрузке моей страницы загрузки он запускал этот php-файл, и если у пользователя был vpn, очистить страницу и отобразить 403 Доступ запрещен
Вот код проверки http://pastebin.com/DXKmebvd
Я до сих пор пробовал:
включить ‘check.php’
требует ‘check.php’
и все это, и я не могу заставить его работать
<?php
function checkProxy($ip){
$ip=$_SERVER['REMOTE_ADDR'];
global $ip;
$contactEmail="[email protected]"; //you must change this to your own email address
$timeout=5; //by default, wait no longer than 5 secs for a response
$banOnProability=0.99; //if getIPIntel returns a value higher than this, function returns true, set to 0.99 by default
//init and set cURL options
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
//if you're using custom flags (like flags=m), change the URL below
curl_setopt($ch, CURLOPT_URL, "http://check.getipintel.net/check.php?ip=$ip&contact=$contactEmail");
$response=curl_exec($ch);
curl_close($ch);if ($response > $banOnProability) {
return true;
} else {
if ($response < 0 || strcmp($response, "") == 0 ) {
//The server returned an error, you might want to do something
//like write to a log file or email yourself
//This could be true due to an invalid input or you've exceeded
//the number of allowed queries. Figure out why this is happening
//because you aren't protected by the system anymore
//Leaving this section blank is dangerous because you assume
//that you're still protected, which is incorrect
//and you might think GetIPIntel isn't accurate anymore
//which is also incorrect.
//failure to implement error handling is bad for the both of us
}
return false;
}
}
$ip=$_SERVER['REMOTE_ADDR'];
if (checkProxy($ip)) {
/* A proxy has been detected based on your criteria
* Do whatever you want to here
*/
echo "[403 Forbidden Error] - Access Denied<br />";
}
?>
Вы не можете определить, использует ли пользователь службу VPN по коду PHP. Вы можете только определить, использует ли пользователь прокси-сервер в настройках веб-браузера, и даже это не может быть обнаружено все время. Также вы можете обнаружить IP-адреса узлов TOR, но НЕ VPN!
Других решений пока нет …