Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- session_start();
- require_once('./includes/config.php'); // global settings/vars
- require_once('./includes/skins.php'); // skin parser
- require_once('./includes/classes.php'); // main classes
- $db = new mysqli($CONF['host'], $CONF['user'], $CONF['pass'], $CONF['name']); // connect to mysql db
- if ($db->connect_errno) {
- echo "MySQL Error: (". $db->connect_errno .") ".$db->connect_error;
- }
- $db->set_charset("utf8");
- $query = (isset($_GET['domain'])) ? $_GET['domain'] : 'onhive.net';
- $proxy = (isset($_GET['proxy']) && $_GET['proxy'] != 'local' && $_GET['proxy'] != '') ? $_GET['proxy'] : null;
- if(isset($_GET['proxies'])) {
- $stmt = $db->prepare(sprintf("UPDATE `config` SET `proxies` = '%s'", $db->real_escape_string($_GET['proxies'])));
- // Execute the statement
- $stmt->execute();
- }
- $data = array();
- class Whois {
- public $db;
- function checkWhois($variate = null) {
- global $data, $query, $proxy;
- $domain = explode('.', $query);
- $ex = $domain[(count($domain) - 1)];
- switch ($ex) {
- case 'br':
- $page = $this->fetchUrl('https://registro.br/cgi-bin/whois/', $proxy, array('qr' => 'minecraft.com.br'));
- $page = substr($page, strpos($page, trim($query).' domain'));
- $page = strip_tags($page);
- $page = utf8_encode($page);
- //$data['raw'] = $page;
- $data['raw'] = $page;
- $page = explode("\n", $page);
- $this->validateRaw($page);
- break;
- default:
- if($variate == null) {
- $page = $this->fetchUrl('http://whoisdatabase.com/index.php?domain='.trim($query), $proxy);
- $page = substr($page, strpos($page, trim($query).' domain'));
- $page = strip_tags($page);
- $page = utf8_encode($page);
- } else {
- $page = $this->fetchUrl('https://whoer.net/whois?host='.trim($query), $proxy);
- $page = json_encode($page);
- $page = str_replace('<\/span>', ':', $page);
- $page = json_decode($page);
- }
- //$data['raw'] = $page;
- $data['raw'] = $page;
- $page = explode("\n", $page);
- $this->validateRaw($page);
- break;
- }
- // if no contact, variate
- if(!isset($data['contact']) && $variate == 0) {
- $this->checkWhois(1);
- $data['refreshed'] = true;
- }
- //return $page;
- }
- function everything_in_tags($string, $tagname) {
- $pattern = "#<\s*?$tagname\b[^>]*>(.*?)</$tagname\b[^>]*>#s";
- preg_match($pattern, $string, $matches);
- return $matches[1];
- }
- function validateRaw($output) {
- global $data;
- $info = 0;
- $name = null;
- foreach ($output as $key => $row) {
- if((strpos($row, 'ame:') !== false || strpos($row, 'ome:') !== false || strpos($row, 'person:') !== false)) {
- $name = explode(':', $row);
- $name = trim($name[1]);
- }
- if(strpos($row, 'mail:')) {
- if($name != null) {
- $mail = explode(':', $row);
- $mail = trim($mail[1]);
- //echo 'Has Mail<br>';
- $data['contacter'][] = array('row' => $row, 'name' => $name, 'email' => $mail);
- $name = null;
- }
- }
- }
- return true;
- }
- function fetchUrl($url, $proxy = null, $params = null) {
- for ($i=0; $i < 5; $i++) {
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL,$url);
- if($proxy != null) {
- curl_setopt($ch, CURLOPT_PROXY, $proxy);
- }
- if(is_array($params)) {
- curl_setopt($ch, CURLOPT_POST, 1);
- curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
- }
- curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- //curl_setopt($ch, CURLOPT_HEADER, 1);
- $curl_scraped_page = curl_exec($ch);
- if($curl_scraped_page == '') {
- $page = 'CURL_ERROR';
- } else {
- $page = $curl_scraped_page;
- break;
- }
- }
- curl_close($ch);
- return $page;
- }
- }
- if(!isset($_POST['send'])) {
- $whois = new Whois();
- $whois->db = $db;
- $whois->checkWhois();
- if(isset($data['contacter'])) {
- $data['contact'] = array();
- $lastMail = '';
- foreach ($data['contacter'] as $key => $row) {
- if($row['email'] != $lastMail) {
- $data['contact'][] = $data['contacter'][$key];
- $lastMail = $row['email'];
- }
- }
- }
- $data['error'] = false;
- echo json_encode($data);
- } else {
- if(isset($_POST['data']) && isset($_POST['message']) && isset($_POST['title'])) {
- $data = explode('; ', $_POST['data']);
- $header = explode('; ', $_POST['header']);
- require './vendor/phpmailer/phpmailer/PHPMailerAutoload.php';
- $mail = new PHPMailer;
- $message = $_POST['message'];
- $user = array();
- foreach ($header as $key => $param) {
- $user[str_replace(array('<', '>'), '', $param)] = $data[$key];
- }
- foreach ($header as $key => $param) {
- $message = str_replace($param, $data[$key], $message);
- }
- $title = $_POST['title'];
- foreach ($header as $key => $param) {
- $title = str_replace($param, $data[$key], $title);
- }
- $mail->isSMTP(); // Set mailer to use SMTP
- $mail->Host = $CONF['smtp_host']; // Specify main and backup SMTP servers
- $mail->SMTPAuth = true; // Enable SMTP authentication
- $mail->Username = $CONF['smtp_user']; // SMTP username
- $mail->Password = $CONF['smtp_pass']; // SMTP password
- $mail->SMTPSecure = $CONF['smtp_ssl']; // Enable TLS encryption, `ssl` also accepted
- $mail->Port = $CONF['smtp_port']; // TCP port to connect to
- $mail->CharSet = 'UTF-8';
- $mail->setFrom($_POST['from']);
- $mail->addAddress($user['e-mail'], $user['nome']); // Add a recipient
- $mail->Subject = $title;
- $mail->Body = $message;
- if(!$mail->send()) {
- echo json_encode(array('error' => $mail->ErrorInfo, 'domain' => $user['dominio'], 'status' => $mail->ErrorInfo));
- } else {
- echo json_encode(array('error' => false, 'domain' => $user['dominio'], 'status' => 'Sucesso'));
- }
- //echo $message;
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement