/** * login user, either by a temporary session or a stored cookie. * * @param int $id * @param bool[optional] $rememberMe * @return void */ public function login($id, $name, $groups, $rememberMe = false) { session_destroy(); $sessid = randomString(); session_id($sessid); session_start(); $_SESSION['online'] = TRUE; $_SESSION['ip'] = getIp(); $_SESSION['proxy'] = getProxy(); if ($rememberMe) { setcookie('userid', serialize(array($id, $name, $groups)), time() + 60 * 60 * 24 * 999, '/', '.madr.se', false, true); } $_SESSION['userid'] = serialize(array($id, $name, $groups)); }
/** * login user, either by a temporary session or a stored cookie. * * @param int $id * @param bool[optional] $rememberMe * @return void */ public function setOnline($id, $name, $groups, $rememberMe = false) { // if success: session_destroy(); $sessid = randomString(); session_id($sessid); session_start(); $_SESSION['online'] = TRUE; $_SESSION['ip'] = getIp(); $_SESSION['proxy'] = getProxy(); if ($rememberMe) { setcookie('userid', serialize(array($id, $name, $groups)), time() + 60 * 60 * 24 * 999, '/', COOKIE_DOMAIN, false, true); } $_SESSION['userid'] = serialize(array($id, $name, $groups)); $this->groups = $groups; }
protected function loadPages() { foreach ($this->checkers as $checker) { $requestParams = $checker->getRequestOptions(); if (trim($requestParams['post']['url']) == '') { continue; } if ($checker->getType() == 'yandex') { list($proxy, $urlkey) = getProxyYandex(); $requestParams['post']['url'] = $urlkey; } else { $proxy = getProxy(); } error_log('Proxy: ' . $proxy); error_log('Request: ' . print_r($requestParams['post'], true)); $this->curl->addRequest($proxy, $requestParams, $checker->getId()); } $this->curl->handle(); echo 'waiting...', PHP_EOL; sleep(20); }
function request($option) { $url = $option['url']; $ch = curl_init(); $proxy = getProxy(); if (isset($proxy)) { curl_setopt($ch, CURLOPT_PROXY, $proxy); } curl_setopt($ch, CURLOPT_URL, $url); if (!empty($option['param'])) { $param = http_build_query($option['param']); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $param); } curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36"); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); curl_setopt($ch, CURLOPT_TIMEOUT, 60); $server_output = curl_exec($ch); curl_close($ch); return $server_output; }
function curl($url, $options = array()) { if (!host($url) or !is_array($options)) { return null; } @($proxy = $options['proxy']); unset($options['proxy']); $options = $options + array(CURLOPT_RETURNTRANSFER => true, CURLOPT_HEADER => false, CURLOPT_FOLLOWLOCATION => true, CURLOPT_ENCODING => "", CURLOPT_USERAGENT => getUserAgent(), CURLOPT_AUTOREFERER => true, CURLOPT_CONNECTTIMEOUT => 5, CURLOPT_TIMEOUT => 20, CURLOPT_MAXREDIRS => 5); $ch = curl_init($url); curl_setopt_array($ch, $options); if ($proxy === true) { if (!function_exists('getProxy')) { return null; } else { $proxy = getProxy(); } } $parse = parseProxy($proxy); if ($proxy and !$parse) { return null; } if ($parse) { // curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5); curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_BASIC); curl_setopt($ch, CURLOPT_PROXY, $parse['host:port']); curl_setopt($ch, CURLOPT_PROXYUSERPWD, $parse['user:pass']); } $content = curl_exec($ch); $err = curl_errno($ch); $errmsg = curl_error($ch); $info = curl_getinfo($ch); $code = intval($info['http_code']); curl_close($ch); if ($err or !in_array($code, array(200, 206))) { return null; } return $content; }
function getInfoFromPicture($picture) { // create the context... $context = stream_context_create($opts); //set POST variables $url = 'https://www.tineye.com/search'; $fields = array('url' => urlencode($picture)); $fields_string = ""; //url-ify the data for the POST foreach ($fields as $key => $value) { $fields_string .= $key . '=' . $value . '&'; } rtrim($fields_string, '&'); //open connection $ch = curl_init(); $proxy = getProxy(); $proxyauth = 'enrimr17dec:dog'; echo "\n\n\n PROXY: " . $proxy . "\n\n\n"; //set the url, number of POST vars, POST data curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, count($fields)); curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string); curl_setopt($ch, CURLOPT_PROXY, $proxy); curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxyauth); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 1); //execute post $result = curl_exec($ch); var_dump($result); $http_redirect_url = curl_getinfo($ch, CURLINFO_REDIRECT_URL); if ($http_redirect_url) { $web = file_get_html($http_redirect_url); } else { $web = str_get_html($result); } echo "-----> " . $http_redirect_url; echo "\n\n --- -- \n"; foreach ($web->find('.matches div div') as $searchResult) { //echo $searchResult; $result = $searchResult->find('div div h4', 0); if ($result) { $title = $result->innertext; if (strcmp("twitter.com", $title) == 0) { print_r("Web: {$title}\n"); $url = $searchResult->find('div div h4', 0)->innertext; $userImage = ""; foreach ($searchResult->find('p') as $paragraph) { $pContent = $paragraph->innertext; // Check if it is a image $pos = strpos($pContent, "mage: "); // Si buscamos Image: nos da 0 que es === false if ($pos !== false) { $userImage = $paragraph->find('a', 0)->title; echo "\nImage: " . $userImage; } else { // Check if it is a link $pos = strpos($pContent, "age: "); // Si buscamos Image: nos da 0 que es === false if ($pos !== false) { $link = $paragraph->find('a', 0)->title; echo "\nLink: " . $link; $pages[] = $link; } } } $oneResult['website'] = $title; $oneResult['imageURL'] = $userImage; $oneResult['links'] = $pages; $results[] = $oneResult; } } else { // handle this situation } } //close connection curl_close($ch); return $results; }
function preventXSS() { if (isset($_SESSION['userid']) && $_SESSION['userid'] && ($_SESSION['ip'] != getIp() || $_SESSION['proxy'] != getProxy())) { die('Possible XSS attempt.'); } }
function request($option) { $url = $option['url']; $ch = curl_init(); $proxy = getProxy(); curl_setopt($ch, CURLOPT_URL, $url); if (isset($proxy)) { curl_setopt($ch, CURLOPT_PROXY, $proxy); } if (!empty($option['param'])) { $param = http_build_query($option['param']); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $param); } if (!empty($option["cookie"])) { curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/upload/cookie.txt'); } curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36"); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 600); curl_setopt($ch, CURLOPT_TIMEOUT, 600); $server_output = curl_exec($ch); // echo $server_output."cek123 -> ". $proxy." $url";die(); curl_close($ch); return $server_output; }
$INIT_TOOLS = 1; $INIT_URL = 1; error_reporting(E_ALL | E_STRICT); ini_set('display_errors', 0); ini_set('log_errors', 1); ini_set('error_log', '/var/log/httpd/ssp/php-error.log'); set_time_limit(0); require_once dirname(__FILE__) . "/../../init.php"; $_SERVER['HTTP_HOST'] = 'panel.romir.ru'; $fp = fopen(dirname(__FILE__) . '/header.log', 'a'); while (1) { if (date('i') % 30 < 10) { sleep(60); continue; } $proxy = getProxy($fp); if (startVoting($fp, $proxy)) { markProxyAsGood($fp, $proxy); } else { markProxyAsBad($fp, $proxy); } } fclose($fp); function startVoting($fp, $proxy) { $params = array(); $address = 'http://www.nameofrussia.ru'; $personId = 71; $curl = M('Tools')->curl(); $curl->clear(); $curl->setUrl($address . '/person.html?id=' . $personId);
</script> </head> <body> <div class="content"> <h2><a href="http://www.shellzen.net">shellzen.net</a> | <a href="index.php">[back]</a></h2> <br> <?php function getProxy() { // website base: http://spys.ru/ $website = "http://spys.ru/"; $options = array(CURLOPT_URL => $website, CURLOPT_RETURNTRANSFER => true, CURLOPT_FOLLOWLOCATION => true, CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36'); $ch = curl_init(); curl_setopt_array($ch, $options); $return = curl_exec($ch); curl_close($ch); $random_proxy = mt_rand(0, 17); $pattern2 = "/\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}:\\d{1,4}/i"; // regex to get only Ip numbers if (preg_match_all($pattern2, $return, $matches)) { //echo '<pre>'; echo $matches[0][$random_proxy]; //echo '</pre>'; } } // end function getProxy getProxy(); ?> </div> </body> </html>