|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.12.2010, 17:46 | #1 |
Новичок
Джуниор
Регистрация: 05.12.2010
Сообщений: 2
|
Привязка анти капчи к Link Farm Evolution
Привет ребята! нужна помощь, суть дела в кратце
на Link Farm Evolution приклеплен серверный антикапч decaptcher.com например на captchabot.com дешевле 4 раза и есть 10 капч бесплатных хотелось бы ее прикрепить вместо родного decaptcher.com и по тестить. Если есть толковые ребята помогите! Вот здесь captchaCracker.inc.php как я понял файл отвечающий за капчу в Link Farm Evolution обращается в сервис антикапчи decaptcher.com код такой <?php class Decaptcher { private static $_UserName = 'Your Username'; private static $_Password = 'Your Password'; public static function Solve($fileContents) { $tempFile = self::_SaveTempFile($fileContents); $postData = array(); $postData['function'] = 'picture2'; $postData['pict'] = "@$tempFile"; $postData['username'] = self::$_UserName; $postData['password'] = self::$_Password; $postData['pict_to'] = '0'; $postData['pict_type'] = '728'; $postData['submit'] = 'send'; $cUrlHandle = curl_init(); curl_setopt($cUrlHandle, CURLOPT_URL, 'http://poster.decaptcher.com/'); curl_setopt($cUrlHandle, CURLOPT_VERBOSE, true); curl_setopt($cUrlHandle, CURLOPT_POST, true); curl_setopt($cUrlHandle, CURLOPT_RETURNTRANSFER, true); curl_setopt($cUrlHandle, CURLOPT_POSTFIELDS, $postData); $response = curl_exec($cUrlHandle); curl_close($cUrlHandle); unlink($tempFile); $responseArray = explode('|', $response); return $responseArray[5]; } private static function _SaveTempFile($fileContents) { $tmpFileName = 'file_' . rand(0, 9999) . '.png'; $handle = fopen($tmpFileName, 'w'); fwrite($handle, $fileContents); fclose($handle); return $tmpFileName; } } function captchaCracker($token, $fileContents, $proxy = '', $ext = 'jpg', $phrase = 0, $regsense = 0, $numeric = 0, $min_len = 0, $max_len = 0) { // We don't care for anything else than fileContents $result = Decaptcher::Solve($fileContents); if (empty($result)) { echo template('red', 'Dem Good Ole Indian Decaptcha-Guys were not able to solve the Captcha...'); return false; } echo template('green', 'Dem Good Ole Indian Decaptcher-Guys solved Captcha: ' . $result); flush(); return $result; } function template($color, $text) { return '<p class="' . $color . '">' . $text . '</p>'; } ?> |
05.12.2010, 17:47 | #2 |
Новичок
Джуниор
Регистрация: 05.12.2010
Сообщений: 2
|
Теперь хотелось бы его изменить на пример на сервис captchabot.com , скачал их скрипт curl.php
код вот такой <?php /* $filename - полный путь к файлу $apikey - ключ для работы $rtimeout - задержка между опросами статуса капчи $mtimeout - время ожидания ввода капчи включить/выключить verbose mode (комментирование происходящего): $is_verbose - false(выключить), true(включить) дополнительно (дефолтные параметры править не нужно без необходимости): $is_phrase - 0 либо 1 - флаг "в капче 2 и более слов" $is_regsense - 0 либо 1 - флаг "регистр букв в капче имеет значение" $is_numeric - 0 либо 1 - флаг "капча состоит только из цифр" $min_len - 0 (без ограничений), любая другая цифра указывает минимальную длину текста капчи $max_len - 0 (без ограничений), любая другая цифра указывает максимальную длину текста капчи пример: $text=recognize("/path/to/file/captcha.jpg","ваш_ключ_из_админки", true); $text=recognize("/path/to/file/captcha.jpg","ваш_ключ_из_админки", false); //отключено комментирование $text=recognize("/path/to/file/captcha.jpg","ваш_ключ_из_админки", false,1,0,0,5); //отключено комментирование, капча состоит из двух слов, общая минимальная длина равна 5 символам */ function recognize($filename, $apikey, $is_verbose = true, $rtimeout = 5, $mtimeout = 120, $is_phrase = 0, $is_regsense = 0, $is_numeric = 0, $min_len = 0, $max_len = 0) { if (!file_exists($filename)) { if ($is_verbose) echo "file $filename not found\n"; return false; } $postdata = array( 'method' => 'post', 'key' => $apikey, 'file' => '@'.$filename, //полный путь к файлу 'phrase' => $is_phrase, 'regsense' => $is_regsense, 'numeric' => $is_numeric, 'min_len' => $min_len, 'max_len' => $max_len, ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://captchabot.com/in.php'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 60); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata); $result = curl_exec($ch); if (curl_errno($ch)) { if ($is_verbose) echo "CURL returned error: ".curl_error($ch)."\n"; return false; } curl_close($ch); if (strpos($result, "ERROR")!==false) { if ($is_verbose) echo "server returned error: $result\n"; return false; } else { $ex = explode("|", $result); $captcha_id = $ex[1]; if ($is_verbose) echo "captcha sent, got captcha ID $captcha_id\n"; $waittime = 0; if ($is_verbose) echo "waiting for $rtimeout seconds\n"; sleep($rtimeout); while(true) { $result = file_get_contents('http://captchabot.com/res.php?key='.$apikey.'&action=get& id='.$captcha_id); if (strpos($result, 'ERROR')!==false) { if ($is_verbose) echo "server returned error: $result\n"; return false; } if ($result=="CAPCHA_NOT_READY") { if ($is_verbose) echo "captcha is not ready yet\n"; $waittime += $rtimeout; if ($waittime>$mtimeout) { if ($is_verbose) echo "timelimit ($mtimeout) hit\n"; break; } if ($is_verbose) echo "waiting for $rtimeout seconds\n"; sleep($rtimeout); } else { $ex = explode('|', $result); if (trim($ex[0])=='OK') return trim($ex[1]); } } return false; } } ?> как грамотно вставить мозгов не хватает, для спецов которые могут читать свободно и я думаю это не так уж и сложно . Помогите плз. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Анти-плагиат (Delphi, C++) | udaffo4ka | Помощь студентам | 8 | 10.12.2015 02:18 |
Анти Чит | Fndrey | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 19 | 08.04.2012 19:26 |
Нужен анти strcat | Hichigo | Общие вопросы C/C++ | 1 | 04.08.2010 15:08 |
[Анти]-судоку | С.М.С | Софт | 9 | 25.04.2009 13:05 |