Patch de segurança SUPEE-7405 - Possíveis problemas?


140

Está na hora de outro dia de atualização, o SUPEE-7405 para Magento 1.x está fora e a lista de correções é longa: https://magento.com/security/patches/supee-7405

Após a experiência com os últimos patches, tenho que perguntar novamente: quais são os possíveis problemas ao aplicar o patch e o que preciso considerar?

Muitos problemas de XSS foram corrigidos novamente, então espero corrigir temas personalizados manualmente. Algo mais? Existem alterações incompatíveis com versões anteriores?


2
GG não pode bater outro patch
Bobadevv 20/01

6
Um problema que encontramos hoje ao corrigir nossa versão (EE 1.14.0.1. ...) SUPEE-7405 Faz com que a tela Detalhes do pedido do administrador fique em branco / quebrada. A fila de pedidos está visível, mas clicar em qualquer pedido retorna uma página de detalhes de pedidos quebrados. Nós não descobrimos isso até depois de colocá-lo em produção. - Aguardando resposta do Magento Support.
precisa saber é o seguinte

6
Também acabamos de descobrir que nosso URL da API SOAP (/index.php/api/v2_soap/index/?wsdl=1) está gerando um erro 500. Se você confiar em SABÃO como eu faço ... não instalar o patch até que isso seja resolvido
Moonman67

4
Os arquivos enviados via painel de administração (por exemplo, upload de imagem do produto) agora não são legíveis mundialmente por padrão (0640). Os diretórios também não são executáveis ​​no mundo (0750). Isso pode causar problemas com imagens que não aparecem no site se o servidor da web for executado como um usuário diferente do php (por exemplo, php-fpm como usuário, servidor da web como ninguém para arquivos estáticos).
Rob Mangiafico

3
- todos os patches anteriores precisam ser aplicados (e se você não o aplicou, especialmente o Shoplift, você pode assumir que sua loja já está hackeada - verifique se há administradores desconhecidos, código estranho etc.) - a página do pedido pode estar quebrada no PHP 5.3 - o código usa a instrução PHP 5.4.
Piotr Kaminski

Respostas:


156

Atualização de 23 de fevereiro de 2016 : O patch foi atualizado para a V1.1, que corrige uma série de problemas importantes listados nesta postagem, e aqui está a lista:

  • Patch de mesclagem de carrinho (SUPEE-7978) : Os carros com itens idênticos agora são mesclados corretamente. Anteriormente, quando um carrinho com um item era mesclado com outro carrinho que continha o mesmo item, o Magento não mesclava os totais do carrinho corretamente. O carrinho agora inclui apenas um item e o total está correto.
  • Patch da API SOAP (SUPEE-7822) : A API SOAP Magento agora funciona conforme o esperado. Antes de instalar o patch SUPEE-7405 v1.0, uma solicitação de API causava um erro 500 e o Magento registrava uma exceção.
  • Compatibilidade com PHP 5.3 (SUPEE-7882) : O patch não era compatível com o PHP 5.3 para versões anteriores do Magento que ainda suportavam esta versão. Os comerciantes com esse problema não conseguiram visualizar as informações de vendas no Admin.
  • Permissões de upload de arquivo : o patch restaura permissões de arquivo menos restritivas (0666 para arquivos e 0777 para diretórios), pois as permissões mais estritas introduzidas pelo patch SUPEE-7405 original fizeram com que muitos comerciantes não pudessem exibir imagens de produtos carregadas, dependendo da configuração do provedor de hospedagem .

Após cavar o patch, aqui estão as coisas relevantes / interessantes que eu encontrei (NB: esta lista foi feita analisando o patch para CE 1.9.2.0-1.9.2.2, provavelmente há mais para os patches que afetam versões mais antigas do Magento) :

  • (corrigido na V1.1 do patch) O uso de, em []vez de array()neste patch, o torna incompatível com o PHP <5.4 (veja problemas conhecidos abaixo)
  • Como afirmado, a maioria das alterações são de escape de html e limpeza de dados em relação a problemas de XSS.
  • A validação da chave do formulário foi adicionada ao login do administrador emMage_Admin_Model_Observer
  • A validação da chave do formulário foi adicionada ao administrador esqueceu a senha emMage_Adminhtml_IndexController
  • A validação da chave do formulário foi adicionada à senha de redefinição do administrador emMage_Adminhtml_IndexController
  • A validação da chave do formulário foi adicionada à ação de exclusão do carrinho de front - end . A chave do formulário é adicionada ao getDeleteUrlde Mage_Checkout_Block_Cart_Item_Renderere validada no deleteActionde Mage_Checkout_CartController.
  • Os eventos agora são despachados em letras minúsculas (todos os arquivos de configuração afetados foram modificados, por exemplo, controller_action_postdispatch_checkout_onepage_saveOrdertorna-se controller_action_postdispatch_checkout_onepage_saveorder). Isso não afeta a configuração dos observadores locais . Mais informações aqui: https://twitter.com/foomanNZ/status/689924329065164800
  • Um novo validador para verificar se um arquivo carregado é uma imagem foi adicionado:Mage_Core_Model_File_Validator_Image
  • Uma nova seção Importar / Exportar aparece:System => Configuration =>Advanced > System => Escape CSV Fields
  • Novo evento enviado:admin_user_validate sobMage_Admin_Model_User
  • SVG não é uma extensão do favicon válido mais
  • Para aqueles que usam o Authorizenet (não), parece que algumas alterações foram feitas, mas não tenho certeza de como isso afeta o sistema. As alterações incluem um novo assistente de administração ( Mage_Authorizenet_Helper_Admin) usado para obter o URL da ordem de sucesso.
  • Nova classe Zend:Zend_Xml_Security . Seu objetivo é verificar a seqüência XML para possíveis ataques XXE e XEE. No entanto, não encontrei nenhuma referência a ele nos outros arquivos modificados.
  • Os arquivos enviados via painel de administração (ou seja, upload de imagem do produto) agora não são legíveis mundialmente por padrão (antes: 777 / depois: 640).
  • Os diretórios também não são executáveis ​​em todo o mundo (antes de 755 / depois: 750). Esses dois podem causar problemas com imagens que não aparecem no site se o servidor da web for executado como um usuário diferente do php (créditos: @Rob Mangiafico)
  • Em relação aos modelos de front-end : as únicas modificações feitas são o escape de dados , que não são disjuntores do sistema, mas ainda são recomendados para implementar em seu tema personalizado (e há apenas dois arquivos de front-end afetados, pouco trabalho;))

Problemas conhecidos após o patch:

Vou tentar manter esta lista o mais atualizada possível.

Antes de iniciar um novo problema / pergunta, verifique se você aplicou todos os patches anteriores , pois parece que muitos problemas decorrem da falta de patches.

Outra coisa é: se você modificou os arquivos principais, a aplicação do patch pode falhar. Se você está tendo um Hunk # failed aterro em um arquivo específico e tem 100% de certeza de que aplicou todos os patches anteriores, verifique se possui o arquivo original da sua versão do Magento, verificando o espelho: https://github.com / OpenMage / espelho magento /

Lista de arquivos afetados

Pode ser encontrado nesta página aqui: https://magento.stackexchange.com/a/98232/2380 (créditos @MagenX)

Apenas EE

  • Se você atualizou do Magento EE 1.14.2.x para o Magento EE 1.14.2.3 em vez de aplicar o patch, e também aplicou o patch de suporte SUPEE-5984 antes, é necessário reaplicá-lo novamente, pois não está incluído no release . => https://magento.stackexchange.com/a/98805/2380

Em relação ao Patch 7616:

Bons recursos sobre os patches Magento

Sinta-se livre para me informar se eu perder alguma coisa.


1
Você mencionou o meu problema "Possível problema ao aplicar o 7616 antes de aplicar o 7405: SUPEE 7405 - Hunk # 2 falhou aos 43" como um problema de EE, quando estou realmente usando o CE.
Liam McArthur

1
Você está certo, meu mal, eu consertei.
Raphael no Digital Pianism

1
Os eventos agora são despachados em letras minúsculas : isso significa que precisamos verificar / alterar a configuração dos observadores locais?
precisa saber é o seguinte

1
@ hellimac Estou prestes a testar isso nas próximas duas horas, atualizarei o post se isso afetar a configuração dos observadores locais.
Raphael no Digital Pianism

5
@hellimac Não, os valores do config.xml também são convertidos para minúsculas quando lidos: twitter.com/foomanNZ/status/689924329065164800
Fabian Schmengler

34

Um problema que notei é que, se o seu site estiver usando uma versão inferior ao PHP 5.4, o patch não será compatível.

Na classe em Mage_Adminhtml_Helper_Salestorno da linha número 124. O código é:

$links = [];

Eu precisava estender isso para ser:

        // Patch not compatible with PHP version 5.3: overwrote Magento patch update

        $links = array();

Outro erro que encontrei parecia envolver os cookies que eu havia configurado. Depois que eu limpei meus cookies, todas as páginas foram carregadas corretamente.

Exemplo de erro:

Notice: unserialize() [function.unserialize]: Error at offset 0 of 13 bytes  in `/var/www/website/app/code/core/Mage/Core/Helper/Cookie.php` on line 83

Não tenho certeza se alguém já se deparou com esses problemas, mas espero que ajude!


1
Eu vi a mesma coisa no código que corrigimos. O patch corrige simultaneamente erros específicos do PHP 5.3 e quebra a compatibilidade com o PHP 5.3.
Jim OHalloran

Não é realmente uma resposta, apenas mais informações: a aplicação do patch 7405 em um site Magento 1.5.1 (sim, eu sei ...) foi árdua e, uma vez que "bem-sucedido", causou erros de front-end e o administrador ficou completamente indisponível. O site fica no php v5.3.1 - felizmente eu poderia restaurá-lo novamente. Eu tenho uma outra instalação v1.9 em php 5.3.3, que estou testando ... sentindo hesitante para limpar o cache agora
Jon Holland

Pode confirmar, Mag 1.9.0.1 no php 5.3.3 tentando visualizar um registro de pedido no admin é apenas uma área de conteúdo em branco. A alteração sugere corrigir o problema. Bom lugar.
Jon Holland

22

Aqui está um problema que encontrei ao corrigir o Magento CE com o SUPEE-7405. Ele substitui a linha:

chmod($destinationFile, 0777);

com:

chmod($destinationFile, 0640);

no arquivo lib/Varien/File/Uploader.php

Isso interrompeu a exibição das imagens no back-end, pois essa permissão de arquivo deveria ser 644. Existe algum motivo para isso ter sido definido como 640?


1
Eu tenho o mesmo problema no Magento ver. A imagem 1.7.0.2 pode ser carregada com êxito, mas não aparece no back-end devido a um problema de permissão. Se eu alterar a permissão 0640 para 0644, a imagem poderá ficar visível, o que não é a solução exata. Então eu acho que as pessoas do Magento precisam corrigir isso ou dar qualquer outra solução para isso.
jyotiranjan.in

Presumo que o apache / nginx deve ser configurado para estar no mesmo grupo que o php-fpm cria a imagem, alguém sabe as implicações de segurança disso?
precisa saber é

É o suPHP que está me causando o problema, eu acho! Desativei e habilitei o php-cgi, o que aumentou a velocidade da página, mas ainda tenho o problema de permissão. Não tenho certeza sobre as implicações de segurança, então estou deixando como está. Não quero abrir nenhuma brecha na segurança! Prefiro editar o arquivo principal!
Liam McArthur

3
basicamente, o problema é que o apache não está sendo executado como o mesmo usuário do php. Alterar a permissão para 640 significa que os arquivos não são mais legíveis pelo mundo. Você precisará garantir que o apache esteja sendo executado como o mesmo usuário do php. Isso pode ser difícil se o seu cpanel executando uma boa abordagem seria definir o grupo como ninguém e fazendo isso por exemplo pegajoso:chown USERNAME:nobody -R public_html find ./public_html -type d -exec chmod g+s {} \;
rob3000

Alguma solução para isso?
Arvind07

21

Ao se candidatar ao Magento 1.7.0.0, está tentando remover um comentário no app/design/adminhtml/default/default/template/authorizenet/directpost/iframe.phtml

-/* @var $_helper Mage_Authorizenet_Helper_Data */

1.7.0.0 - https://raw.githubusercontent.com/OpenMage/magento-mirror/1.7.0.0/app/design/adminhtml/default/default/template/authorizenet/directpost/iframe.phtml

que não foi adicionado até 1.7.0.1 https://raw.githubusercontent.com/OpenMage/magento-mirror/1.7.0.1/app/design/adminhtml/default/default/template/authorizenet/directpost/iframe.phtml


Acabei de adicionar essa linha na versão 1.7.0.0 iframe.phtml e executei o patch novamente e foi bem
Danny Z

1
@DannyZ mesma coisa aqui apenas pensei que eu iria fazer melhor nota do mesmo em algum lugar :)
rob3000

19

esses arquivos corrigidos, você pode ver qualquer impacto possível:
modelo: modelos de administração, em sua maioria corrigidos.

+++ app/design/frontend/base/default/template/rss/order/details.phtml
+++ app/design/frontend/base/default/template/catalog/product/view/options/type/file.phtml
+++ app/design/adminhtml/default/default/template/sales/order/view/info.phtml
+++ app/design/adminhtml/default/default/template/sales/order/totals/discount.phtml
+++ app/design/adminhtml/default/default/template/sales/items/renderer/default.phtml
+++ app/design/adminhtml/default/default/template/sales/items/column/name.phtml
+++ app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/name.phtml
+++ app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/invoice/name.phtml
+++ app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/creditmemo/name.phtml
+++ app/design/adminhtml/default/default/template/catalog/product/composite/fieldset/options/type/file.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/shipment/view/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/shipment/create/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/order/view/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/invoice/view/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/invoice/create/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/creditmemo/view/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/creditmemo/create/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/authorizenet/directpost/iframe.phtml

núcleo / libs:

+++ lib/Varien/Io/File.php
+++ lib/Varien/File/Uploader.php
+++ app/code/core/Zend/Xml/Security.php
+++ app/code/core/Mage/Sales/Model/Quote/Item.php
+++ app/code/core/Mage/Sales/Model/Quote/Address.php
+++ app/code/core/Mage/Sales/Helper/Guest.php
+++ app/code/core/Mage/Rss/Helper/Order.php
+++ app/code/core/Mage/Rss/Block/Catalog/Salesrule.php
+++ app/code/core/Mage/Review/controllers/ProductController.php
+++ app/code/core/Mage/Paypal/controllers/PayflowadvancedController.php
+++ app/code/core/Mage/Paypal/controllers/PayflowController.php
+++ app/code/core/Mage/Newsletter/Model/Queue.php
+++ app/code/core/Mage/Newsletter/Model/Observer.php
+++ app/code/core/Mage/ImportExport/Model/Import/Entity/Abstract.php
+++ app/code/core/Mage/ImportExport/Model/Export/Adapter/Csv.php
+++ app/code/core/Mage/ImportExport/Model/Export/Adapter/Abstract.php
+++ app/code/core/Mage/Downloadable/controllers/CustomerController.php
+++ app/code/core/Mage/Dataflow/Model/Convert/Parser/Csv.php
+++ app/code/core/Mage/Customer/controllers/AccountController.php
+++ app/code/core/Mage/Core/Model/Session.php
+++ app/code/core/Mage/Core/Model/Input/Filter/MaliciousCode.php
+++ app/code/core/Mage/Core/Model/File/Validator/Image.php
+++ app/code/core/Mage/Core/Model/Email/Template/Filter.php
+++ app/code/core/Mage/Core/Model/Email/Queue.php
+++ app/code/core/Mage/Core/Model/Config.php
+++ app/code/core/Mage/Core/Model/App.php
+++ app/code/core/Mage/Core/Helper/Data.php
+++ app/code/core/Mage/Checkout/controllers/OnepageController.php
+++ app/code/core/Mage/Checkout/controllers/CartController.php
+++ app/code/core/Mage/Checkout/Block/Cart/Item/Renderer.php
+++ app/code/core/Mage/CatalogInventory/Helper/Minsaleqty.php
+++ app/code/core/Mage/Catalog/Model/Resource/Product/Attribute/Backend/Image.php
+++ app/code/core/Mage/Catalog/Model/Category/Attribute/Backend/Image.php
+++ app/code/core/Mage/Catalog/Block/Product/View/Options/Type/Select.php
+++ app/code/core/Mage/Authorizenet/controllers/Adminhtml/Authorizenet/Directpost/PaymentController.php
+++ app/code/core/Mage/Authorizenet/Helper/Data.php
+++ app/code/core/Mage/Authorizenet/Helper/Admin.php
+++ app/code/core/Mage/Adminhtml/controllers/IndexController.php
+++ app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Image/Favicon.php
+++ app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Image.php
+++ app/code/core/Mage/Adminhtml/Model/System/Config/Backend/File.php
+++ app/code/core/Mage/Adminhtml/Helper/Sales.php
+++ app/code/core/Mage/Adminhtml/Helper/Catalog/Product/Edit/Action/Attribute.php
+++ app/code/core/Mage/Adminhtml/Block/Widget/Grid.php
+++ app/code/core/Mage/Adminhtml/Block/Sales/Order/View/Tab/History.php
+++ app/code/core/Mage/Admin/Model/User.php
+++ app/code/core/Mage/Admin/Model/Resource/User.php
+++ app/code/core/Mage/Admin/Model/Redirectpolicy.php
+++ app/code/core/Mage/Admin/Model/Observer.php

==================================================== ======================= ps apenas para manter todos juntos, criamos um multipatch "sem pensar" para consertar muitos servidores com várias instalações magento. multipatch-7405.sh


Agradável! Não consigo lembrar substituir esses arquivos temáticos assim remendo .sh pode simplesmente fazer a sua coisa: D
Bobadevv

1
Bem feito. O multipatch é uma ótima idéia; Eu só queria que Magento lançado SHA1 hashes para seus patches para que pudéssemos verificar se elas correspondem fontes externas
philwinkle

isso pode ser simplificado acessando o repositório da web magento diretamente para curvar todos os patches, mas tivemos alguns problemas com ele. e é necessário inserir seus detalhes de login ... magento wtf ...
MagenX

14

Aqui está o meu plano de teste básico:

  • Aplicar cupom
  • Entre para o administrador
  • Forçar o administrador a alterar a senha
  • Exportar um CSV
  • Importar um CSV
  • Redefinir senha como administrador e cliente
  • Crie um pedido no administrador
  • Crie e faça o pedido no front-end como convidado
  • Crie e faça o pedido no front-end como cliente
  • Adicionar uma imagem a um produto
  • Criar uma nota de crédito
  • Crie uma fatura

como exatamente esta lista me ajudará a entender os erros causados ​​por esse patch ou apenas um desenvolvedor curvou as mãos ???
MagenX 21/01

@MagenX Não sei o que significa um desenvolvedor com mãos curvas. Mas quando diferi o patch, fiz uma lista de coisas que poderiam ser problemáticas.
Brideo 21/01

@MagenX, então, depois de aplicar o patch, eu verificaria essas áreas, desculpe se não foi útil.
Brideo 21/01

Ah, suíte básica de testes para depois das verificações de patches para garantir que você encontre o ai antes de seus clientes e trabalhadores ... Faz todo o sentido, pois exercita áreas afetadas por arquivos corrigidos.
Fiasco Labs

Este seria um (melhor?) Resposta boa para essa pergunta aqui: magento.stackexchange.com/questions/98565/...
Anna Volkl




8

Captura de tela para a página de detalhes do pedido de administrador, se estiver mostrando esse tipo de problema, siga as instruções abaixo para que funcione para mim !!insira a descrição da imagem aqui

Solução

Altere a linha 124 em app / code / core / Mage / Adminhtml / Helper / Sales.php de $ links = []; para $ links = array ();


7

Sempre que instalamos um patch para um de nossos clientes, usamos a seguinte lista de verificação:

  • Faça um backup completo dos arquivos e banco de dados do site.
  • Verifique se todos os patches anteriores foram instalados com sucesso (podem ser vistos no app/etc/applied.patches.listarquivo)
  • Após a instalação bem-sucedida do patch, limpe o cache e faça um pedido de teste para garantir que tudo funcione.

Eu acho que é realmente tudo o que existe. Os patches foram projetados para serem instalados rapidamente e sem problemas. 9 em cada 10 vezes eles serão instalados perfeitamente e, nas outras vezes, temos backups. Contanto que você não esteja mexendo com os arquivos principais, tudo ficará bem.


arquivo provavelmenteapp/etc/applied.patches.list
MagenX

3
Não acho que isso responda à pergunta. O OP está se referindo ao SUPEE-6788, que exigia toneladas de trabalho manual em extensões de terceiros, não como aplicar um patch.
Robbie Averill

O OP está se referindo ao SUPEE-6788 Robbie, não ao 6788.
Gary Olderman

Desculpe, para esclarecer a pergunta é obviamente sobre o 7405, mas é feita à luz do pesadelo que foi 6788 - é contexto
Robbie Averill

6

arquivos afetados aqui para Magento EE

> -e 2016-02-11 03:14:54 UTC | SUPEE-7405-EE-1-14-2-2 | EE_1.14.2.2 | v1 | 91465c744a824111902e2911fd63fd8cb6c32f05 | Tue Jan 19 14:27:03 2016 +0200 | e1fc3c59c9..91465c744a
patching file app/code/core/Enterprise/Checkout/Block/Adminhtml/Manage/Form/Coupon.php
patching file app/code/core/Enterprise/GoogleAnalyticsUniversal/Block/Ga.php
patching file app/code/core/Enterprise/PageCache/etc/config.xml
patching file app/code/core/Enterprise/Pbridge/etc/config.xml
patching file app/code/core/Enterprise/Pci/Model/Observer.php
patching file app/code/core/Enterprise/Pci/Model/Resource/Admin/User.php
patching file app/code/core/Enterprise/Pci/etc/config.xml
patching file app/code/core/Enterprise/Persistent/etc/config.xml
patching file app/code/core/Enterprise/SalesArchive/etc/config.xml
patching file app/code/core/Enterprise/WebsiteRestriction/etc/config.xml
patching file app/code/core/Mage/Admin/Model/Observer.php
patching file app/code/core/Mage/Admin/Model/Redirectpolicy.php
patching file app/code/core/Mage/Admin/Model/Resource/User.php
patching file app/code/core/Mage/Admin/Model/User.php
patching file app/code/core/Mage/Adminhtml/Block/Sales/Order/View/Tab/History.php
patching file app/code/core/Mage/Adminhtml/Block/Widget/Grid.php
patching file app/code/core/Mage/Adminhtml/Helper/Catalog/Product/Edit/Action/Attribute.php
patching file app/code/core/Mage/Adminhtml/Helper/Sales.php
patching file app/code/core/Mage/Adminhtml/Model/System/Config/Backend/File.php
patching file app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Image.php
patching file app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Image/Favicon.php
patching file app/code/core/Mage/Adminhtml/controllers/IndexController.php
patching file app/code/core/Mage/Authorizenet/Helper/Admin.php
patching file app/code/core/Mage/Authorizenet/Helper/Data.php
patching file app/code/core/Mage/Authorizenet/controllers/Adminhtml/Authorizenet/Directpost/PaymentController.php
patching file app/code/core/Mage/Captcha/etc/config.xml
patching file app/code/core/Mage/Catalog/Block/Product/View/Options/Type/Select.php
patching file app/code/core/Mage/Catalog/Model/Category/Attribute/Backend/Image.php
patching file app/code/core/Mage/Catalog/Model/Resource/Product/Attribute/Backend/Image.php
patching file app/code/core/Mage/CatalogIndex/etc/config.xml
patching file app/code/core/Mage/CatalogInventory/Helper/Minsaleqty.php
patching file app/code/core/Mage/Checkout/Block/Cart/Item/Renderer.php
patching file app/code/core/Mage/Checkout/controllers/CartController.php
patching file app/code/core/Mage/Checkout/controllers/OnepageController.php
patching file app/code/core/Mage/Core/Helper/Data.php
patching file app/code/core/Mage/Core/Model/App.php
patching file app/code/core/Mage/Core/Model/Config.php
patching file app/code/core/Mage/Core/Model/Email/Queue.php
patching file app/code/core/Mage/Core/Model/Email/Template/Filter.php
patching file app/code/core/Mage/Core/Model/File/Validator/Image.php
patching file app/code/core/Mage/Core/Model/Input/Filter/MaliciousCode.php
patching file app/code/core/Mage/Core/Model/Session.php
patching file app/code/core/Mage/Customer/controllers/AccountController.php
patching file app/code/core/Mage/Dataflow/Model/Convert/Parser/Csv.php
patching file app/code/core/Mage/Downloadable/controllers/CustomerController.php
patching file app/code/core/Mage/ImportExport/Model/Export/Adapter/Abstract.php
patching file app/code/core/Mage/ImportExport/Model/Export/Adapter/Csv.php
patching file app/code/core/Mage/ImportExport/Model/Import/Entity/Abstract.php
patching file app/code/core/Mage/ImportExport/etc/config.xml
patching file app/code/core/Mage/ImportExport/etc/system.xml
patching file app/code/core/Mage/Newsletter/Model/Observer.php
patching file app/code/core/Mage/Newsletter/Model/Queue.php
patching file app/code/core/Mage/Page/etc/system.xml
patching file app/code/core/Mage/Paypal/controllers/PayflowController.php
patching file app/code/core/Mage/Paypal/controllers/PayflowadvancedController.php
patching file app/code/core/Mage/Paypal/etc/config.xml
patching file app/code/core/Mage/Persistent/etc/config.xml
patching file app/code/core/Mage/Review/controllers/ProductController.php
patching file app/code/core/Mage/Rss/Block/Catalog/Salesrule.php
patching file app/code/core/Mage/Rss/Helper/Order.php
patching file app/code/core/Mage/Sales/Helper/Guest.php
patching file app/code/core/Mage/Sales/Model/Quote/Address.php
patching file app/code/core/Mage/Sales/Model/Quote/Item.php
patching file app/code/core/Zend/Xml/Security.php
patching file app/design/adminhtml/default/default/template/authorizenet/directpost/iframe.phtml
patching file app/design/adminhtml/default/default/template/bundle/sales/creditmemo/create/items/renderer.phtml
patching file app/design/adminhtml/default/default/template/bundle/sales/creditmemo/view/items/renderer.phtml
patching file app/design/adminhtml/default/default/template/bundle/sales/invoice/create/items/renderer.phtml
patching file app/design/adminhtml/default/default/template/bundle/sales/invoice/view/items/renderer.phtml
patching file app/design/adminhtml/default/default/template/bundle/sales/order/view/items/renderer.phtml
patching file app/design/adminhtml/default/default/template/bundle/sales/shipment/create/items/renderer.phtml
patching file app/design/adminhtml/default/default/template/bundle/sales/shipment/view/items/renderer.phtml
patching file app/design/adminhtml/default/default/template/catalog/product/composite/fieldset/options/type/file.phtml
patching file app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/creditmemo/name.phtml
patching file app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/invoice/name.phtml
patching file app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/name.phtml
patching file app/design/adminhtml/default/default/template/enterprise/checkout/form/coupon.phtml
patching file app/design/adminhtml/default/default/template/sales/items/column/name.phtml
patching file app/design/adminhtml/default/default/template/sales/items/renderer/default.phtml
patching file app/design/adminhtml/default/default/template/sales/order/totals/discount.phtml
patching file app/design/adminhtml/default/default/template/sales/order/view/info.phtml
patching file app/design/frontend/base/default/template/catalog/product/view/options/type/file.phtml
patching file app/design/frontend/base/default/template/rss/order/details.phtml
patching file lib/Varien/File/Uploader.php
patching file lib/Varien/Io/File.php

5

Depois de aplicar o SUPEE-7405 no Magento 1.14.1.0, obtive o erro:

Fatal error: Cannot redeclare Mage_Core_Controller_Varien_Router_Admin::_validateControllerInstance() in app/code/core/Mage/Core/Controller/Varien/Router/Admin.php on line 173

O problema foi causado pelo método declarado _validateControllerInstance em

app/code/core/Mage/Core/Controller/Varien/Router/Admin.php on line 173

Após remover a segunda (mesma) declaração de função, o problema foi resolvido.


5

Eu recebi o seguinte erro após instalar o patch SUPEE-7405 ao tentar fazer login no admin.

Erro fatal: Ligue para o método indefinido Mage_Core_Controller_Response_Http :: sendHeadersAndExit () em
\ app \ code \ core \ Mage \ Admin \ Model \ Session.php na linha 135

porque esse arquivo foi substituído no pool de códigos local que não possui o sendHeadersAndExit método criado por esse patch.

\app\code\local\Mage\Core\Controller\Response\Http.php O método a seguir não existe. (Este é um novo método adicionado ao arquivo principal)

  /**
     * Method send already collected headers and exit from script
     */
    public function sendHeadersAndExit()
    {
        $this->sendHeaders();
        exit;
    }

Depois de adicionar isso ao problema de arquivo substituído desapareceu.


3

Um dos problemas que tive ao usar o SUPEE-7405 é o Image Upload Bugs

Portanto, verifico as alterações neste arquivo: lib / Varien / File / Uploader.php

diff --git lib / Varien / Arquivo / Uploader.php lib / Varien / Arquivo / Uploader.php
---
---
- chmod ($ destinationFile, 0777);
+ chmod ($ destinationFile, 0640);
---
---
- if (! (@ is_dir ($ destinationFolder) || @mkdir ($ destinationFolder, 0777, true))) {
+ if (! (@ is_dir ($ destinationFolder) || @mkdir ($ destinationFolder, 0750, true))) {

Então, descobri duas maneiras de superá-lo:

Opção 1:

Realizo uma alteração manual no arquivo lib / Varien / File / Uploader.php para ajustar as permissões 0640/0750.

Opção 2: Como o Magento espera que o servidor web seja o proprietário dos arquivos do site:

http://devdocs.magento.com/guides/m1x/install/installer-privileges_after.html#privs-after

A outra maneira de resolver o problema é tornar o servidor da web o proprietário dos arquivos

chown -R web-server-user-name magento / raiz / caminho

O nome do usuário do servidor da web é geralmente www-data ou apache.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.