Jump to content

Bugs en actualizacion 1.3.1


Recommended Posts

Bueno pues segun el post del blog oficial: (este)

Me he bajado la 1.3.1 y me he puesto a comparar los ficheros de la 1.3.1 con las instrucciones del post porque las instrucciones no me cuadraban algunos pasos asi que aqui os los voy a comentar a ver....

Paso 1, Instrucción:

Archivo: /config/smarty.config.inc.php
Donde: Al final del archivo, antes de "?>"
Añadir: $smarty->register_modifier('secureReferrer', array('Tools', 'secureReferrer'));



Conclusión de la comparación:
En el fichero 1.3.1 /config/smarty.config.inc.php la linea a añadir la han puesto a continuación de la 116, con lo que las lineas quedarian así, no se si el orden alterá al producto en esta situación o no pero yo os lo digo por si acaso:

116  $smarty->register_modifier('truncate', 'smarty_modifier_truncate');
117  $smarty->register_modifier('secureReferrer', array('Tools', 'secureReferrer'));
118  
119  global $link;



Paso 2, Instrucciones:

Archivo: /modules/paypalapi/error.tpl
Donde: linéa 13
Sustituir: {$smarty.server.HTTP_REFERER}
Por: {$smarty.server.HTTP_REFERER|secureReferrer}



Conclusión de la comparación:
El fichero de la 1.3.1 y la explicación concuerdan.

Paso 3, Instrucciones:

Archivo: /themes/prestashop/errors.tpl :
Donde: linéa 9
Sustituir: {$smarty.server.HTTP_REFERER|escape:'htmlall':'UTF-8'}
Por: {$smarty.server.HTTP_REFERER|escape:'htmlall':'UTF-8'|secureReferrer}



Conclusión de la comparación:
El fichero de la 1.3.1 y la explicación concuerdan.

Paso 4, Instrucciones:

Archivo: /themes/prestashop/shopping-cart.tpl :
Donde: linéa 255
Sustituir: {$smarty.server.HTTP_REFERER|escape:'htmlall':'UTF-8'}
Por: {$smarty.server.HTTP_REFERER|escape:'htmlall':'UTF-8'|secureReferrer}



Conclusión de la comparación:
En la 1.3 si vas a la linea indicada (255) te encuentras con esto:

{if $invoice->company}{$invoice->company|escape:'htmlall':'UTF-8'}{/if}


Exactamente lo mismo que te encontrarás en la linea 255 de la version 1.3.1.

Si realizo la busqueda en el fichero por la cadena a sustitunir encontramos la cadena en la linea 274:

« {l s='Continue shopping'}



Y si miramos en el fichero de la 1.3.1 la sustitución, ciertamente, la han realizado en la linea 274, así que la sustitución hay que realizarla en la línea 274 de la version 1.3, es un bug de las instrucciones.


Paso 5, Instrucciones:

Archivo: /admin/login.php
Donde: linéa 67
Sustituir:
$cookie->passwd = $employee->passwd;
$cookie->write();
Por:
$cookie->passwd = $employee->passwd;
$cookie->remote_addr = ip2long($_SERVER['REMOTE_ADDR']);
$cookie->write();



Conclusión de la comparación:
El fichero de la 1.3.1 y la explicación concuerdan.

Paso 6, Instrucciones:

Archivo: /admin/confirm.php
Donde: linéa 22
Sustituir: $referer = rawurldecode(Tools::getValue('referer'));
Por: $referer = Tools::htmlentitiesUTF8(rawurldecode(Tools::getValue('referer')));



Conclusión de la comparación:
El fichero de la 1.3.1 y la explicación concuerdan.

Paso 7, Instrucciones:

Archivo: /classes/Tools.php
Donde: linéa 17
Despues de "class Tools
{"
Añadir las dos funciones:

/**
* Get the server variable SERVER_NAME
*
* @param string $referrer URL referrer
*/
static function getServerName()
{
if (isset($_SERVER['HTTP_X_FORWARDED_SERVER']) AND $_SERVER['HTTP_X_FORWARDED_SERVER'])
return $_SERVER['HTTP_X_FORWARDED_SERVER'];
return $_SERVER['SERVER_NAME'];
}

/**
* Secure an URL referrer
*
* @param string $referrer URL referrer
*/
static public function secureReferrer($referrer)
{
if (preg_match('/^http[s]?:\/\/'.self::getServerName().'\/.*$/Ui', $referrer))
return $referrer;
return __PS_BASE_URI__;
}



Conclusión de la comparación:
Lás lineas de codigo se han introducido a partir de la línea 80 pero en este caso creo que no altare para nada el funcionamiento así que creo que se le puede dar por buena las instrucciones de este paso.

Paso 8, Instrucciones:

Archivo: /classes/Cookie.php
Donde: linéa 164
Sustituir la funciona isLoggedBack() por la funciona:
function isLoggedBack()
{
/* Employee is valid only if it can be load and if cookie password is the same as database one */
if ($this->id_employee AND Validate::isUnsignedId($this->id_employee) AND
Employee::checkPassword(intval($this->id_employee), $this->passwd) AND (!isset($this->_content['remote_addr']) OR
$this->_content['remote_addr'] == ip2long($_SERVER['REMOTE_ADDR'])))
return true;
return false;
} 



Conclusión de la comparación:
El fichero de la 1.3.1 y la explicación concuerdan.




Por ahora creo que es todo, si alguien más ve algo que no le cuadre o me he confundido en algo que lo indique aqui por favor.

Link to comment
Share on other sites

Cierto.
A mi me ha ocurrido lo mismo y he buscado info hasta llegar a tu post.
En el paso que dice:

Archivo: /themes/prestashop/shopping-cart.tpl :
Donde: linéa 255
Sustituir: {$smarty.server.HTTP_REFERER|escape:'htmlall':'UTF-8'}
Por: {$smarty.server.HTTP_REFERER|escape:'htmlall':'UTF-8'|secureReferrer}

No es la línea 255 sino la 274.
¿Algún moderador que lo pueda confirmar?
Yo he hecho los cambios en la 274...

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...