• Super User

    Le due modifiche non interagiscono in alcun modo.

    Segui attentamente le istruzioni nell'altro thread, è spiegato tutto chiaramente.


  • User Attivo

    Grazie, ho cercato nel fili init.php ma purtroppo non trovo la stringa

    if (!empty($db->explain))
    ```Ne l'altra
    

    if ($is_bot == 1) {
    $vbulletin->userinfo['usergroupid'] = 2;
    }

    Eppure prima delle modifiche ricordo di averlo trovato e di aver inserito la seconda stringa subito sopra la prima.... :?

  • Super User

    Scarica nuovamente l'ultima versione di vbulletin e poi ricarica quel file via ftp.

    Una volta fatto riapporta le modifiche come spiegato nel thread.


  • User Attivo

    Ragazzi.... la stringa proprio non si trova... :bho:
    Vi riporto l'intero file, appena scaricato dal sito ufficiale:
    members.vbulletin. com

    <?php
    /*======================================================================*\
    || #################################################################### ||
    || # vBulletin 3.8.1 - Licence Number ***********
    || # ---------------------------------------------------------------- # ||
    || # Copyright ©2000-2009 Jelsoft Enterprises Ltd. 
    SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc. 
    SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc. All Rights Reserved. ||
    || # This file may not be redistributed in whole or significant part. # ||
    || # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # ||
    || # ********# ||
    || #################################################################### ||
    \*======================================================================*/
    
    if (!defined('VB_AREA') AND !defined('THIS_SCRIPT'))
    {
        echo 'VB_AREA or THIS_SCRIPT must be defined to continue';
        exit;
    }
    
    if (isset($_REQUEST['GLOBALS']) OR isset($_FILES['GLOBALS']))
    {
        echo 'Request tainting attempted.';
        exit;
    }
    
    // set the current unix timestamp
    define('TIMENOW', time());
    define('SAPI_NAME', php_sapi_name());
    define('SAFEMODE', (@ini_get('safe_mode') == 1 OR strtolower(@ini_get('safe_mode')) == 'on') ? true : false);
    
    // try to force display_errors on
    @ini_set('display_errors', true);
    
    // define current directory
    if (!defined('CWD'))
    {
        define('CWD', (($getcwd = getcwd()) ? $getcwd : '.'));
    }
    
    // #############################################################################
    // fetch the core classes
    require_once(CWD . '/includes/class_core.php');
    
    // initialize the data registry
    $vbulletin =& new vB_Registry();
    
    // parse the configuration ini file
    $vbulletin->fetch_config();
    
    if (CWD == '.')
    {
        // getcwd() failed and so we need to be told the full forum path in config.php
        if (!empty($vbulletin->config['Misc']['forumpath']))
        {
            define('DIR', $vbulletin->config['Misc']['forumpath']);
        }
        else
        {
            trigger_error('<strong>Configuration</strong>: You must insert a value for <strong>forumpath</strong> in config.php', E_USER_ERROR);
        }
    }
    else
    {
        define('DIR', CWD);
    }
    
    if (!empty($vbulletin->config['Misc']['datastorepath']))
    {
            define('DATASTORE', $vbulletin->config['Misc']['datastorepath']);
    }
    else
    {
            define('DATASTORE', DIR . '/includes/datastore');
    }
    
    // load database class
    switch (strtolower($vbulletin->config['Database']['dbtype']))
    {
        // load standard MySQL class
        case 'mysql':
        case 'mysql_slave':
        case '':
        {
            $db =& new vB_Database($vbulletin);
            break;
        }
    
        // load MySQLi class
        case 'mysqli':
        case 'mysqli_slave':
        {
            $db =& new vB_Database_MySQLi($vbulletin);
            break;
        }
    
        // load extended, non MySQL class
        default:
        {
        // this is not implemented fully yet
        //    $db = 'vB_Database_' . $vbulletin->config['Database']['dbtype'];
        //    $db =& new $db($vbulletin);
            die('Fatal error: Database class not found');
        }
    }
    
    $db->appshortname = 'vBulletin (' . VB_AREA . ')';
    
    if (!defined('SKIPDB'))
    {
        // we do not want to use the slave server at all during this process
        // as latency problems may occur
        $vbulletin->config['SlaveServer']['servername'] = '';
        // make database connection
        $db->connect(
            $vbulletin->config['Database']['dbname'],
            $vbulletin->config['MasterServer']['servername'],
            $vbulletin->config['MasterServer']['port'],
            $vbulletin->config['MasterServer']['username'],
            $vbulletin->config['MasterServer']['password'],
            $vbulletin->config['MasterServer']['usepconnect'],
            $vbulletin->config['SlaveServer']['servername'],
            $vbulletin->config['SlaveServer']['port'],
            $vbulletin->config['SlaveServer']['username'],
            $vbulletin->config['SlaveServer']['password'],
            $vbulletin->config['SlaveServer']['usepconnect'],
            $vbulletin->config['Mysqli']['ini_file'],
            $vbulletin->config['Mysqli']['charset']
        );
        if (!empty($vbulletin->config['Database']['force_sql_mode']))
        {
            $db->force_sql_mode('');
        }
    
        // make $db a member of $vbulletin
        $vbulletin->db =& $db;
    
        // #############################################################################
        // fetch options and other data from the datastore
    
        // grab the MySQL Version once and let every script use it.
        $mysqlversion = $db->query_first("SELECT version() AS version");
        define('MYSQL_VERSION', $mysqlversion['version']);
    
        if (VB_AREA == 'Upgrade')
        {
            $optionstemp = false;
    
            $db->hide_errors();
                $optionstemp = $db->query_first("SELECT template FROM template WHERE title = 'options' AND templatesetid = -1");
            $db->show_errors();
    
            // ## Found vB2 Options so use them...
            if ($optionstemp)
            {
                eval($optionstemp['template']);
                $vbulletin->options =& $vboptions;
                $vbulletin->versionnumber = $templateversion;
            }
            else
            {
                // we need our datastore table to be updated properly to function
                $db->hide_errors();
                $db->query_write("ALTER TABLE " . TABLE_PREFIX . "datastore ADD unserialize SMALLINT NOT NULL DEFAULT '2'");
                $db->show_errors();
    
                $datastore_class = (!empty($vbulletin->config['Datastore']['class'])) ? $vbulletin->config['Datastore']['class'] : 'vB_Datastore';
    
                if ($datastore_class != 'vB_Datastore')
                {
                    require_once(DIR . '/includes/class_datastore.php');
                }
                $vbulletin->datastore =& new $datastore_class($vbulletin, $db);
                $vbulletin->datastore->fetch($specialtemplates);
            }
        }
        else if (VB_AREA == 'Install')
        { // load it up but don't actually call fetch, we need the ability to overwrite fields.
            $datastore_class = (!empty($vbulletin->config['Datastore']['class'])) ? $vbulletin->config['Datastore']['class'] : 'vB_Datastore';
    
            if ($datastore_class != 'vB_Datastore')
            {
                require_once(DIR . '/includes/class_datastore.php');
            }
            $vbulletin->datastore =& new $datastore_class($vbulletin, $db);
        }
    
        // ## Load latest bitfields, overwrite datastore versions (if they exist)
        // ## (so latest upgrade script can access any new permissions)
        require_once(DIR . '/includes/class_bitfield_builder.php');
        if (vB_Bitfield_Builder::build_datastore() !== false)
        {
            $myobj =& vB_Bitfield_Builder::init();
            require_once(DIR . '/includes/functions.php');
            require_once(DIR . '/includes/functions_misc.php');
    
            foreach (array_keys($myobj->datastore) AS $group)
            {
                $vbulletin->{'bf_' . $group} =& $myobj->datastore["$group"];
                foreach (array_keys($myobj->datastore["$group"]) AS $subgroup)
                {
                    $vbulletin->{'bf_' . $group . '_' . $subgroup} =& $myobj->datastore["$group"]["$subgroup"];
                }
            }
        }
        else
        {
            trigger_error('Error Building Bitfields', E_USER_ERROR);
        }
    }
    
    // setup an empty hook class in case we run some of the main vB code
    require_once(DIR . '/includes/class_hook.php');
    $hookobj =& vBulletinHook::init();
    $vbulletin->pluginlist = '';
    
    /*======================================================================*\
    || ####################################################################
    || # Downloaded: 18:26, Tue Feb 24th 2009
    || # CVS: $RCSfile$ - $Revision: 26886 $
    || ####################################################################
    \*======================================================================*/
    ?>
    ```Il file ovviamente è init.php che si trova nella cartella Upload>Install....

  • Super User

    Il file init.php si deve trovare nella cartella includes. 🙂

    In alternativa a quella modifica c'è questo che non necessita di modifiche a files. 🙂


  • User Attivo

    Ho corretto il fili init.php. 😄
    Ho installato anche il file che mi hai appena passato... posso lasciare entrambe le cose, oppure devo usare uno o l'altro? 😄
    Grazie Cionfs, sei sempre gentilissimo.. ed io il solito disastro! :eheh:


  • Super User

    Alla fine fanno entrambi la stessa cosa. Ti consiglio di usarne solo uno. 🙂


  • User Attivo

    Finalmente da oggi i bot entrano... e sembrano non volersene più andare!hehe

    Volevo dare un consiglio a chi come me volesse fare queste modifiche:

    • Ho creato un nuovo gruppo per gli Spider (con i permessi che volevo)
    • Ho modificato il file init.php (inserendo il numero del gruppo che ho creato)
    • Ho caricato il file xml che troverete all'inizio della discussione.
    • Sono entrata nel PCA>Opzioni VBulletin>Opzioni Chi è online>Abilita l'identificazione degli spiders dei motori di ricerca>Si

    Tempo qualche ora, ed il gioco è fatto!
    Grazie a tutti per l'aiuto dato. 😄


  • User Attivo

    Vorrei chiedervi ancora una cosa.... ma è normale che i bot di google stiano nel mio sito 23 ore su 24?
    Da ieri praticamente li ho sempre avuti online, tranne pause da pochi minuti..:():
    E' un bene? O un male?...


  • Super User

    Sui forum, in genere, almeno un bot c'è quasi sempre perchè è la tipologia di sito che lo richiede.

    Poi hai fatto un cambio di board, cosa che rende necessaria una rivalutazione totale anche perchè hai innescato molti redirect 301.

    Quindi, in genere, è normale.

    Controlla, invece, se l'attività è anomala:
    Se ad esempio il bot visita sempre la stessa pagina.
    Se è troppo "aggressivo" e scarica giga di roba ogni giorno.

    Poi, per avere una visione d'insieme, verifica il comportamento dei bot tramite webmaster tool di google.