Actualización del 23 de febrero de 2016 : el parche se ha actualizado a V1.1, que soluciona una serie de problemas importantes enumerados en esta publicación, aquí está la lista:
- Parche de combinación de carro (SUPEE-7978) : los carros con artículos idénticos ahora se combinan correctamente. Anteriormente, cuando un carrito con un artículo se fusionaba con otro que contenía el mismo artículo, Magento no fusionaba los totales del carrito correctamente. El carrito ahora incluye solo un artículo, y el total es correcto.
- Parche API SOAP (SUPEE-7822) : la API SOAP Magento ahora funciona como se esperaba. Anteriormente después de instalar el parche SUPEE-7405 v1.0, una solicitud de API provocaría un error 500 y Magento registraría una excepción.
- Compatibilidad con PHP 5.3 (SUPEE-7882) : el parche no era compatible con PHP 5.3 para versiones anteriores de Magento que todavía admitían esta versión. Los comerciantes que experimentaron este problema no pudieron ver la información de ventas en el Administrador.
- Permisos de carga de archivos : el parche restaura los permisos de archivo menos restrictivos (0666 para archivos y 0777 para directorios) ya que los permisos más estrictos introducidos por el parche original SUPEE-7405 hicieron que muchos comerciantes no pudieran ver las imágenes cargadas del producto, dependiendo de la configuración del proveedor de alojamiento .
Después de profundizar en el parche, aquí están las cosas relevantes / interesantes que he encontrado (Nota: esta lista se ha hecho analizando el parche para CE 1.9.2.0-1.9.2.2, probablemente haya más para parches que afectan a versiones anteriores de Magento) :
- (corregido en V1.1 del parche)
El uso de en []
lugar de array()
en este parche lo hace incompatible con PHP <5.4 (vea los problemas conocidos a continuación)
- Como se indicó, la mayoría de los cambios son escapes html y desinfección de datos con respecto a problemas de XSS.
- La validación de la clave de formulario se ha agregado al inicio de sesión de administrador en
Mage_Admin_Model_Observer
- La validación de la clave de formulario se ha agregado a la contraseña olvidada del administrador en
Mage_Adminhtml_IndexController
- La validación de la clave de formulario se ha agregado a la contraseña de restablecimiento de administrador en
Mage_Adminhtml_IndexController
- La validación de la clave de formulario se ha agregado a la acción de eliminación del carrito de la interfaz . La clave de formulario se agrega al
getDeleteUrl
de Mage_Checkout_Block_Cart_Item_Renderer
y se valida en el deleteAction
de Mage_Checkout_CartController
.
- Los eventos ahora se envían en minúsculas (todos los archivos de configuración afectados se han modificado, por ejemplo, se
controller_action_postdispatch_checkout_onepage_saveOrder
convierten controller_action_postdispatch_checkout_onepage_saveorder
). Esto no afecta la configuración de sus observadores locales . Más información aquí: https://twitter.com/foomanNZ/status/689924329065164800
- Se ha agregado un nuevo validador para verificar si un archivo cargado es una imagen :
Mage_Core_Model_File_Validator_Image
- Aparece una nueva sección Importar / Exportar :
System => Configuration =>Advanced > System => Escape CSV Fields
- Nuevo evento enviado:
admin_user_validate
bajoMage_Admin_Model_User
- SVG no es una extensión válida favicon más
- Para aquellos que usan Authorizenet (no lo hago) parece que se han realizado algunos cambios, aunque no estoy seguro de cómo afecta el sistema. Los cambios incluyen un nuevo administrador auxiliar (
Mage_Authorizenet_Helper_Admin
) que se utiliza para obtener la url de la orden de éxito.
- Nueva clase Zend:
Zend_Xml_Security
. Su propósito es escanear cadenas XML para posibles ataques XXE y XEE. Sin embargo, no encontré ninguna referencia a él en los otros archivos modificados.
- Los archivos cargados a través del panel de administración (es decir, carga de imágenes del producto) ahora no son legibles en todo el mundo de forma predeterminada (antes: 777 / después: 640).
- Los directorios tampoco son ejecutables en el mundo (antes de 755 / después: 750). Estos dos pueden causar problemas con las imágenes que no aparecen en el sitio web si el servidor web se ejecuta como un usuario diferente de php (créditos: @Rob Mangiafico)
- Con respecto a las plantillas frontend : las únicas modificaciones realizadas son el escape de datos , que no son interruptores del sistema, pero aún así se recomienda implementar en su tema personalizado (y solo hay dos archivos frontend afectados, no tanto trabajo;))
Problemas conocidos después de parchear:
Intentaré mantener esta lista lo más actualizada posible.
Antes de comenzar un nuevo problema / pregunta, asegúrese de haber aplicado todos los parches anteriores, ya que parece que muchos problemas provienen de parches faltantes.
Otra cosa es: si ha modificado los archivos principales, la aplicación del parche puede fallar. Si tiene un Hunk # failed at
error para un archivo específico y está 100% seguro de haber aplicado todos los parches anteriores, asegúrese de tener el archivo original de su versión de Magento marcando el espejo: https://github.com / OpenMage / magento-mirror /
Lista de archivos afectados
Se puede encontrar en esta página aquí: https://magento.stackexchange.com/a/98232/2380 (créditos @MagenX)
EE solamente
- Si actualizó desde Magento EE 1.14.2.x a Magento EE 1.14.2.3 en lugar de aplicar el parche, y también aplicó el parche de soporte SUPEE-5984 antes, debe volver a aplicarlo nuevamente porque no está incluido en el lanzamiento . => https://magento.stackexchange.com/a/98805/2380
Con respecto al parche 7616:
Buenos recursos sobre parches de Magento
No dudes en avisarme si extraño algo.