Esta es una discusión para el tema Varsión 3.0.5 ¿alguien la ha instalado? en el foro Archivos de vBulletin 3.0 - 3.7, bajo la categoría Versiones Obsoletas de vBulletin - Temas Archivados; Estimados amigos
¿alguien ha actualizado de la versión 3.0.3 a la versión 3.0.5?
Sobre el proceso ¿Alguna recomendación o algo a tener en cuenta?
Gracias por adelantado:
Palosanto...
Página:
Estimados amigos
¿alguien ha actualizado de la versión 3.0.3 a la versión 3.0.5?
Sobre el proceso ¿Alguna recomendación o algo a tener en cuenta?
Gracias por adelantado:
Palosanto![]()
actualizado el dia en ke salio, perfecto, me anda de lujo
El proceso de actualizacion bueno, subir todos los archivos al server y sobreescribir los antiguos (tuve que reescribir todos los hacks a los archivos nuevos), y luego abrir el script de upgrade, el cual te toma unos 2 minutos en total.....
OJO Que la unica falla de seguridad grande es la del INIT.php, aki dejo la lista de cambios si no quieren actualizar todo
CHANGES MADE FROM 3.0.3 to 3.0.5
CHANGES MADE FROM 3.0.4 to 3.0.5Código PHP:
############### OPEN FILE INCLUDES/INIT.PHP ##################
################## FIND CODE ##################
error_reporting(E_ALL & ~E_NOTICE);
################## AFTER ADD ##################
function vb_error_handler($errno, $errstr, $errfile, $errline)
{
if (!error_reporting())
{
return;
}
switch ($errno)
{
case E_WARNING:
case E_USER_WARNING:
$errfile = str_replace(getcwd(), '', $errfile);
echo "<br /><strong>Warning</strong>: $errstr in <strong>$errfile</strong> on line <strong>$errline</strong><br />";
break;
}
}
set_error_handler('vb_error_handler');
################## FIND CODE ##################
if (is_array($GLOBALS))
{
foreach ($GLOBALS AS $_arrykey => $_arryval)
{
if (!in_array($_arrykey, $_allowedvars) AND $_arrykey != '_arrykey' AND $_arrykey != '_arryval')
{
unset($GLOBALS["$_arrykey"]);
}
}
}
else
{
$GLOBALS['_GET'] = &$_GET;
$GLOBALS['_POST'] = &$_POST;
$GLOBALS['_COOKIE'] = &$_COOKIE;
$GLOBALS['_SERVER'] = &$_SERVER;
$GLOBALS['_ENV'] = &$_ENV;
$GLOBALS['_FILES'] = &$_FILES;
}
################## REPLACE CODE WITH ##################
if (is_array($GLOBALS))
{
function deregister_globals($_allowedvars)
{
foreach ($GLOBALS AS $_arrykey => $_arryval)
{
if (!in_array($_arrykey, $_allowedvars) AND $_arrykey != '_arrykey' AND $_arrykey != '_arryval')
{
unset($GLOBALS["$_arrykey"]);
}
}
}
deregister_globals($_allowedvars);
}
else
{
die('<strong>Fatal Error:</strong> Invalid URL.');
}
################## FIND CODE ##################
$script = preg_replace('#(\?.*)#', '', $scriptpath);
################## AFTER ADD ##################
if (!defined('THIS_SCRIPT') AND strpos(strtolower($script), 'global.php') !== false)
{
die('<p><strong>Critical Error</strong><br />global.php must not be called directly.</p>');
}
################## FIND CODE ##################
$stylechoosercache = array();
################## AFTER ADD ##################
if (!is_array($specialtemplates))
{
$specialtemplates = array();
}
################## FIND CODE ##################
WHERE title IN ('" . implode("', '", $specialtemplates) . "')
################## REPLACE CODE WITH ##################
WHERE title IN ('" . implode("', '", array_map('addslashes', $specialtemplates)) . "')
################## FIND CODE ##################
unset($storeitem);
$DB_site->free_result($datastoretemp);
}
}
}
################## AFTER ADD ##################
// referrer check for POSTs
if (strtoupper($_SERVER['REQUEST_METHOD']) == 'POST' AND !defined('SKIP_REFERRER_CHECK'))
{
if ($_SERVER['HTTP_HOST'] OR $_ENV['HTTP_HOST'])
{
$http_host = ($_SERVER['HTTP_HOST'] ? $_SERVER['HTTP_HOST'] : $_ENV['HTTP_HOST']);
}
else if ($_SERVER['SERVER_NAME'] OR $_ENV['SERVER_NAME'])
{
$http_host = ($_SERVER['SERVER_NAME'] ? $_SERVER['SERVER_NAME'] : $_ENV['SERVER_NAME']);
}
if ($http_host AND $_SERVER['HTTP_REFERER'])
{
$referrer_parts = parse_url($_SERVER['HTTP_REFERER']);
$http_host = preg_replace('#^www\.#i', '', $http_host);
$thishost = preg_quote($http_host . !empty($referrer_parts['port']) ? ":$referrer_parts[port]" : '', '#');
$refhost = $referrer_parts['host'] . !empty($referrer_parts['port']) ? ":$referrer_parts[port]" : '';
if (!preg_match('#' . $thishost . '$#siU', $refhost))
{
die("POST requests from foreign hosts are not allowed.");
}
}
}
Código PHP:############### OPEN FILE INCLUDES/INIT.PHP ##################
################## FIND CODE ##################
error_reporting(E_ALL & ~E_NOTICE);
################## AFTER ADD ##################
function vb_error_handler($errno, $errstr, $errfile, $errline)
{
if (!error_reporting())
{
return;
}
switch ($errno)
{
case E_WARNING:
case E_USER_WARNING:
$errfile = str_replace(getcwd(), '', $errfile);
echo "<br /><strong>Warning</strong>: $errstr in <strong>$errfile</strong> on line <strong>$errline</strong><br />";
break;
}
}
set_error_handler('vb_error_handler');
################## FIND CODE ##################
if (is_array($GLOBALS))
{
foreach ($GLOBALS AS $_arrykey => $_arryval)
{
if (!in_array($_arrykey, $_allowedvars) AND $_arrykey != '_arrykey' AND $_arrykey != '_arryval')
{
unset($GLOBALS["$_arrykey"]);
}
}
}
else
{
$GLOBALS['_GET'] = &$_GET;
$GLOBALS['_POST'] = &$_POST;
$GLOBALS['_COOKIE'] = &$_COOKIE;
$GLOBALS['_SERVER'] = &$_SERVER;
$GLOBALS['_ENV'] = &$_ENV;
$GLOBALS['_FILES'] = &$_FILES;
}
################## REPLACE CODE WITH ##################
if (is_array($GLOBALS))
{
function deregister_globals($_allowedvars)
{
foreach ($GLOBALS AS $_arrykey => $_arryval)
{
if (!in_array($_arrykey, $_allowedvars) AND $_arrykey != '_arrykey' AND $_arrykey != '_arryval')
{
unset($GLOBALS["$_arrykey"]);
}
}
}
deregister_globals($_allowedvars);
}
else
{
die('<strong>Fatal Error:</strong> Invalid URL.');
}
################## FIND CODE ##################
$stylechoosercache = array();
################## AFTER ADD ##################
if (!is_array($specialtemplates))
{
$specialtemplates = array();
}
################## FIND CODE ##################
$http_host = preg_replace('#^www\.#i', '', $http_host);
################## AFTER ADD ##################
$thishost = preg_quote($http_host . !empty($referrer_parts['port']) ? ":$referrer_parts[port]" : '', '#');
$refhost = $referrer_parts['host'] . !empty($referrer_parts['port']) ? ":$referrer_parts[port]" : '';
################## FIND CODE ##################
if (!preg_match('#' . preg_quote($http_host, '#') . '$#siU', $referrer_parts['host']))
################## REPLACE CODE WITH ##################
if (!preg_match('#' . $thishost . '$#siU', $refhost))
Este foro lo actualize de la version 3.0.1 a la 3.0.5 sin problemas![]()
Gracias Elmer y Cheer por vuestras respuestas!!!
que mal .. yo alcanse a bajar la 3.04.. y mi licencia vencio... se demoro super poco en aparecer la 3.05 ..
seria alguien tan amable de darmela .. o no esta bien considerado eso?
**digo yo que mi licencia vencion hace 2 semanas mas menos***
k es lo k hace realmente el script de upgrade???? k sobreescribe??
El upgrade solo te actualiza lo que haya cambiado en la base de datos. Como actualizar el lenguaje o los estilos que se encuentran en la db.
A ver yo tengo la version 3.0.0 y si lo quiero actualizar a la 3.0.5 solo tengo que subri los archivos, sobrescribirlos y aplicar el upgrade; ¿y con eso no perdere los pequeños hacks y modificaciones que tengo hechas? una ayudita plz :rolleyes:
Con cada actualización tienes que reinstalar cada uno de los hacks que hayas agregado a tu instalación de vBulletin.
See Ya
Una pregunta.
En mi foro tengo el Arcade, ya sé que si actualizo tengo que instalar de nuevo el hack pero la pregunta es: se pierden tambien los score's y los demas juegos que tengo instalados ademas de los de "serie"?
jeejeje me salte una parte, pero ya se.. Gracias !!
Última edición por hiscl; 11/01/2005 a las 20:28 Razón: editado por que ya se la pregunta que hise
Segun nuestra informacion habria que bajarse el archivo init.php que os hemos adjuntado en este post para sobreescribir el init.php existente en la carpeta includes de vuestra instalacion de vBulletin.
Original post: http://www.vbulletin.com/forum/showthread.php?t=125480
Los "scores" se guardan en la base de datos, no?
El actualizador no tendria que tocar tablas que no ha creado ya que muchas personas guardan datos de diferentes cosas en un misma base de datos, por eso sirven los prefijos tambien.
Asi que los scores se salvarian, pero cualquier cosa modificada en el vBulletin, por lo general se borrara con la actualizacion.
En todo caso siempre es bueno hacer una copia de la base de datos, asi si algo pasa, solo tienes que reimportar los datos del Arcade.
See Ya
Vale!!
Ahora mismo me actualizo a la 3.0.5![]()
Actualizado!!
Ni un problema, ahora... la engorrosa reinstalacion de los hacks :mad:
Vale, pero todo por estar protegido :p