У нас есть регистрационная форма, где люди могут зарегистрироваться для проведения опросов для небольшой компенсации. Недавно мы обнаружили много подозрительных записей. Я выследил сайт на китайском языке, который я перевел с помощью Google, и в основном это было «как», чтобы подписаться на эти сайты. Я работаю над тем, чтобы отслеживать способ автоматического отфильтровывания фиктивных из них.Блокировка записей с подменой формы
Регистрация имеет «капчу», чтобы надеяться, блокировать не-людей, но вводимые данные чрезвычайно реалистичны во многих случаях. Опрос проводится для барменов, и все поля заполняются с использованием законных адресов и адресов. Номера телефонов могут быть выключены, но они могут использовать ячейку и перемещаться в область. Я пытался на экран, захватив данные и страновые данные IP с помощью следующей функции:
// this function is necessary since allow_url_fopen is disabled by default in php.ini in PHP >5.
function my_file_get_contents($file_path) {
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $file_path);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 1);
$buffer = curl_exec($ch);
curl_close($ch);
return $buffer;
}
function getInfoFromIP(){
// get correct IP in case of a proxy
if (!empty($_SERVER['HTTP_CLIENT_IP'])){ // shared ip
$real_ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ // ip is from proxy
$real_ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else{
$real_ip=$_SERVER['REMOTE_ADDR'];
}
//verify the IP address for the
ip2long($real_ip)== -1 || ip2long($real_ip) === false ? trigger_error("Invalid IP Passed: ", E_USER_ERROR) : "";
$ipDetailArray=array(); //initialize a blank array
$ipDetailArray['ip'] = $real_ip; //assign ip number to the array
//get the XML result from hostip.info using custom lookup function
$xml = my_file_get_contents("http://api.hostip.info/?ip=".$real_ip);
//regex to get the country name from <countryName>INFO</countryName>
preg_match("@<countryName>(.*?)</countryName>@si",$xml,$countryInfoArray);
$ipDetailArray['country'] = $countryInfoArray[1]; //assign country name to the array
//get the country name inside the node <countryName> and </countryName>
preg_match("@<countryAbbrev>(.*?)</countryAbbrev>@si",$xml,$ccInfoArray);
$ipDetailArray['country_code'] = $ccInfoArray[1]; //assign country code to array
//return the array containing ip, country and country code
return $ipDetailArray;
}
Затем я вручную проверки и удаления из них, которые появляются за пределами США (что, где бар и наблюдатели должны быть расположены для участия). Я ВСЕГДА нахожу много подозрительных, которые перечислены с использованием IP-адресов в США (которые, я уверен, подделаны).
Не уверен, что мой код неполный или если есть лучшее решение, которое я не смог найти. Благодаря
Вы можете позволить The Great Firewall выполнить эту работу за вас, добавив ключевые слова на своей странице о «Фалуньгун», «Тянь Анмен» и т. Д. (Написанные упрощенными китайскими персонажами). ОК, это не смешно ... но, возможно, это работает – FelipeAls
Что-то вроде http://www.parkansky.com/china.htm и http://www.wizcrafts.net/chinese-blocklist.html может стоить того читать. – liftarn