Correctif de sécurité SUPEE-7405 - Problèmes possibles?


140

Il est temps de passer à un autre correctif, SUPEE-7405 pour Magento 1.x est disponible et la liste des correctifs est longue: https://magento.com/security/patches/supee-7405

Après l'expérience des derniers patchs, je dois demander à nouveau: quels sont les problèmes possibles lors de l'application du patch et que dois-je prendre en compte?

De nombreux problèmes XSS ont été corrigés à nouveau. Je compte donc patcher les thèmes personnalisés manuellement. Rien d'autre? Existe-t-il des modifications incompatibles avec le passé?


2
GG ne peut pas battre un autre patch
Bobadevv

6
Un problème que nous avons rencontré aujourd'hui en corrigeant notre version (EE 1.14.0.1. ...) SUPEE-7405 a pour conséquence que notre écran Détails de la commande administrateur est vide / cassé. La file d'attente de commandes est visible, mais un clic sur n'importe quelle commande renvoie une page de détail de commande brisée. Nous n'avons découvert cela qu'après l'avoir mis en production. - En attente de réponse du support de Magento.
Moonman67

6
Nous venons également de découvrir que notre URL SOAP (/index.php/api/v2_soap/index/?wsdl=1) génère maintenant une erreur 500. Si vous comptez sur SOAP comme je le fais ... N'installez PAS le correctif tant que ce
problème

4
Les fichiers téléchargés via le panneau d'administration (c.-à-d. Le téléchargement d'images de produit) ne sont désormais plus lisibles par tout le monde (0640). Les répertoires ne sont pas non plus exécutables dans le monde (0750). Cela peut entraîner des problèmes avec des images n'apparaissant pas sur le site Web si le serveur Web est exécuté en tant qu'utilisateur différent de php (c'est-à-dire php-fpm en tant qu'utilisateur, serveur Web en tant que personne pour les fichiers statiques).
Rob Mangiafico

3
- Tous les correctifs précédents doivent être appliqués (et si vous ne l'avez pas appliquée, en particulier celui de Shoplift, vous pouvez supposer que votre magasin est déjà piraté. - Recherchez les administrateurs inconnus, le code étrange, etc.) - la page de commande risque d'être cassée sous PHP 5.3 - le code utilise l'instruction PHP 5.4.
Piotr Kaminski

Réponses:


157

Mise à jour du 23 février 2016 : Le correctif a été mis à jour à la version 1.1, ce qui corrige un certain nombre de problèmes importants répertoriés dans ce message. Voici la liste:

  • Correctif de fusion de panier (SUPEE-7978) : les paniers comportant des objets identiques fusionnent désormais correctement. Auparavant, lorsqu'un panier contenant un article était fusionné avec un autre panier contenant le même article, Magento ne fusionnait pas correctement les totaux de panier. Le panier contient désormais un seul article et le total est correct.
  • Correctif pour l'API SOAP (SUPEE-7822) : l'API Magento SOAP fonctionne désormais comme prévu. Auparavant, après l’installation du correctif SUPEE-7405 v1.0, une demande d’API entraînait une erreur 500 et Magento enregistrait une exception.
  • Compatibilité PHP 5.3 (SUPEE-7882) : le correctif n'était pas compatible avec PHP 5.3 pour les versions antérieures de Magento qui prenaient toujours en charge cette version. Les marchands rencontrant ce problème ne pouvaient pas afficher les informations sur les ventes dans l'administrateur.
  • Autorisations de téléchargement de fichiers : le correctif rétablit des autorisations de fichiers moins restrictives (0666 pour les fichiers et 0777 pour les répertoires) car les autorisations plus strictes introduites par le correctif SUPEE-7405 d'origine empêchaient de nombreux marchands d'afficher les images des produits téléchargés, en fonction de la configuration du fournisseur d'hébergement. .

Après avoir approfondi le correctif, voici ce que j'ai trouvé de pertinent et d'intéressant (NB: cette liste a été réalisée en analysant le correctif pour CE 1.9.2.0-1.9.2.2, il y en a probablement plus pour les correctifs affectant les anciennes versions de Magento) :

  • (corrigé dans V1.1 du correctif) L’utilisation de of []au lieu de array()dans ce patch le rend incompatible avec PHP <5.4 (voir les problèmes connus ci-dessous)
  • Comme indiqué, la plupart des modifications concernent l'échappement HTML et la désinfection des données concernant les problèmes XSS.
  • La validation de la clé de formulaire a été ajoutée à la connexion administrateur dansMage_Admin_Model_Observer
  • La validation de la clé de formulaire a été ajoutée au mot de passe oublié de l' administrateur dansMage_Adminhtml_IndexController
  • La validation de la clé de formulaire a été ajoutée au mot de passe de réinitialisation de l' administrateur dansMage_Adminhtml_IndexController
  • La validation de la clé de formulaire a été ajoutée à l’ action de suppression du panier frontal . La clé de formulaire est ajoutée à la getDeleteUrlde Mage_Checkout_Block_Cart_Item_Rendereret validée à la deleteActionde Mage_Checkout_CartController.
  • Les événements sont maintenant envoyés en minuscules (tous les fichiers de configuration affectés ont été modifiés, par exemple, controller_action_postdispatch_checkout_onepage_saveOrderdevient controller_action_postdispatch_checkout_onepage_saveorder). Cela n'affecte pas la configuration de vos observateurs locaux . Plus d'informations ici: https://twitter.com/foomanNZ/status/689924329065164800
  • Un nouveau validateur pour vérifier si un fichier téléchargé est une image a été ajouté:Mage_Core_Model_File_Validator_Image
  • Une nouvelle section Import / Export apparaît:System => Configuration =>Advanced > System => Escape CSV Fields
  • Nouvel événement envoyé:admin_user_validate sousMage_Admin_Model_User
  • SVG est pas une extension de favicon valide plus
  • Pour ceux qui utilisent Authorizenet (je ne le sais pas), il semble que quelques modifications aient été apportées, mais je ne suis pas sûr de l'impact que cela aura sur le système. Les modifications incluent un nouvel assistant helper ( Mage_Authorizenet_Helper_Admin) utilisé pour obtenir l'URL de l'ordre de réussite.
  • Nouvelle classe Zend:Zend_Xml_Security . Son but est d'analyser une chaîne XML pour détecter d'éventuelles attaques XXE et XEE. Cependant, je n'ai trouvé aucune référence à cela dans les autres fichiers modifiés.
  • Les fichiers téléchargés via le panneau d' administration (c.-à-d. Le téléchargement d'images de produit) ne sont désormais plus lisibles par tout le monde (avant: 777 / après: 640).
  • Les répertoires ne sont pas non plus exécutables (avant 755 / après: 750). Ces deux problèmes peuvent causer des problèmes avec des images n'apparaissant pas sur le site si le serveur Web est exécuté en tant qu'utilisateur différent de php (crédits: @Rob Mangiafico)
  • Concernant les modèles frontaux : les seules modifications apportées sont l'échappement de données , qui ne sont pas des disjoncteurs système mais qu'il est toujours recommandé d'implémenter sur votre thème personnalisé (et il n'y a que deux fichiers frontaux affectés qui ne demandent pas beaucoup de travail;))

Problèmes connus après le correctif:

Je vais essayer de garder cette liste aussi à jour que possible.

Avant de commencer un nouveau problème / question, veuillez vous assurer que vous avez appliqué tous les correctifs précédents, car il semble que beaucoup de problèmes proviennent de correctifs manquants.

Une autre chose est la suivante: si vous avez modifié les fichiers principaux, l’application du correctif peut échouer. Si vous rencontrez une Hunk # failed aterreur pour un fichier spécifique et que vous êtes sûr à 100% d'avoir appliqué tous les correctifs précédents, assurez-vous de disposer du fichier d'origine de votre version de Magento en vérifiant le miroir: https://github.com / OpenMage / magento-mirror /

Liste des fichiers concernés

Vous pouvez le trouver sur cette page ici: https://magento.stackexchange.com/a/98232/2380 (credits @MagenX)

EE seulement

  • Si vous avez mis à jour Magento EE 1.14.2.x vers Magento EE 1.14.2.3 au lieu d'appliquer le correctif et que vous avez également appliqué le correctif de prise en charge SUPEE-5984 auparavant, vous devez le réappliquer car il n'est pas inclus dans la version . => https://magento.stackexchange.com/a/98805/2380

Concernant le patch 7616:

Bonnes ressources sur les correctifs Magento

N'hésitez pas à me faire savoir si quelque chose me manque.


1
Vous avez évoqué mon problème "Problème possible lors de l'application de 7616 avant 7405: SUPEE 7405 - Hunk # 2 Failed at 43" en tant que problème d'EE, alors que j'utilise réellement CE.
Liam McArthur

1
Vous avez raison, mon mal, je l'ai réparé.
Raphael au Digital Pianism le

1
Les événements sont maintenant envoyés en minuscules : cela signifie-t-il que nous devons vérifier / modifier la configuration des observateurs locaux?
Hellimac

1
@hellimac Je suis sur le point de tester cela dans les deux heures qui suivent. Je mettrai à jour le message si cela affecte la configuration des observateurs locaux.
Raphael au pianisme numérique le

5
@hellimac Non, les valeurs de config.xml sont également converties en minuscules lorsqu'elles sont lues: twitter.com/foomanNZ/status/689924329065164800
Fabian Schmengler le

35

Un problème que j’ai remarqué est que si votre site utilise une version inférieure à PHP 5.4, le correctif n’est pas compatible.

Dans la classe Mage_Adminhtml_Helper_Salesautour du numéro de ligne 124. Le code est le suivant:

$links = [];

J'avais besoin d'étendre cela pour être:

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

        $links = array();

Une autre erreur que j'ai rencontrée semble concerner les cookies que j'avais configurés. Une fois les cookies supprimés, toutes les pages se sont bien chargées.

Exemple d'erreur:

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

Je ne suis pas sûr que quelqu'un d'autre se soit heurté à ces problèmes, mais j'espère que cela aidera!


1
J'ai vu la même chose dans le code que nous avons corrigé. Le correctif corrige simultanément des bogues spécifiques à PHP 5.3 et rompt la compatibilité avec PHP 5.3.
Jim OHalloran

Pas vraiment une réponse, mais juste plus d'informations: L'application du correctif 7405 à un site Magento 1.5.1 (oui, je sais ...) était ardue et, une fois "réussi", provoquait des erreurs frontales et l'administrateur était totalement indisponible. Le site se trouve sur php v5.3.1 - heureusement, je pouvais le restaurer. J'ai une autre installation v1.9 sur php 5.3.3 que je teste ... hésitant à vider le cache maintenant
Jon Holland

Peut confirmer, Mag 1.9.0.1 sur php 5.3.3 essayant de visualiser un enregistrement de commande dans admin est une zone de contenu blanche uniquement. La modification suggérée corrige le problème. Bon endroit.
Jon Holland

22

Voici un problème que j'ai rencontré lors de l'application de SUPEE-7405 à Magento CE. Il remplace la ligne:

chmod($destinationFile, 0777);

avec:

chmod($destinationFile, 0640);

dans le fichier lib/Varien/File/Uploader.php

Cela a arrêté l'affichage de mes images dans le back-end, car cette autorisation de fichier devrait en fait être 644. Y a-t-il une raison pour laquelle il a été défini sur 640?


1
J'ai le même problème dans Magento ver. L’image 1.7.0.2 peut être téléchargée avec succès mais ne s'affiche pas dans le backend en raison d’un problème d’autorisation. Si je change l'autorisation 0640 à 0644 alors l'image peut être visible, ce qui n'est pas la solution exacte. Donc, je suppose que les gens de magento ont besoin de rectifier cela ou de donner une autre solution à cela.
jyotiranjan.in

Je suppose que apache / nginx devrait être configuré pour être dans le même groupe que php-fpm crée l'image, est-ce que quelqu'un connaît les implications de sécurité de ce type?
Jzahedieh

C'est suPHP qui me cause le problème je pense! Je l'ai désactivé et activé php-cgi à la place, ce qui a augmenté la vitesse de la page, mais j'ai toujours le problème de l'autorisation. Je ne suis pas sûr des implications en matière de sécurité, je le laisse donc être. Je ne veux pas ouvrir de trous de sécurité! Je préférerais éditer le fichier core!
Liam McArthur

3
En gros, le problème est que Apache ne fonctionne pas avec le même utilisateur que php. Changer l'autorisation en 640 signifie que les fichiers ne sont plus lisibles par tout le monde. Vous devrez vous assurer qu'apache est exécuté avec le même utilisateur que php. Cela pourrait être difficile si votre cpanel en cours d'exécution avec une bonne approche chown USERNAME:nobody -R public_html find ./public_html -type d -exec chmod g+s {} \;
définirait

Une solution à cela?
Arvind07

21

Lors de l'application pour Magento 1.7.0.0, essayez de supprimer un commentaire sur 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

qui n'a pas été ajouté jusqu'à 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


Je viens d'ajouter cette ligne dans la version 1.7.0.0 d'iframe.phtml et de relancer le correctif, avec succès
Danny Z

1
@DannyZ même chose ici juste pensé que je ferais mieux de prendre note de quelque part :)
rob3000

19

ces fichiers corrigés, vous pouvez voir le moindre impact possible:
template: les modèles d’admin principalement patchés.

+++ 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

core / 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 Pour ne pas perdre le contrôle , nous avons créé un multipatch simple pour patcher de nombreux serveurs avec plusieurs installations de Magento. multipatch-7405.sh


Agréable! Je ne me souviens pas d’avoir écrasé ces fichiers de thème pour que patch .sh puisse faire son travail: D
Bobadevv

1
Bien fait. Le multipatch est une excellente idée. Je souhaite juste que Magento publie des hachages SHA1 pour leurs correctifs afin que nous puissions vérifier qu'ils correspondent aux sources externes
philwinkle le

cela peut être simplifié en accédant directement au référentiel Web de magento pour boucler tous les correctifs, mais nous avons eu quelques problèmes avec cela. et il fallait entrer vos identifiants de connexion ... magento wtf ...
MagenX

14

Voici mon plan de test de base:

  • Appliquer Coupon
  • Connectez-vous à l'administrateur
  • Forcer l'administrateur à changer de mot de passe
  • Exporter un CSV
  • Importer un CSV
  • Réinitialiser le mot de passe en tant qu'administrateur et client
  • Créer une commande dans admin
  • Créer et commander dans le front-end en tant qu'invité
  • Créer et commander dans le front-end en tant que client
  • Ajouter une image à un produit
  • Créer un avoir
  • Créer une facture

comment exactement cette liste m'aidera-t-elle à comprendre les erreurs causées par ce correctif ou est-ce simplement qu'un développeur a les mains courbes ???
MagenX

@MagenX Je ne sais pas ce que signifie un développeur avec des mains courbes. Mais quand j'ai différé le patch, j'ai dressé une liste de choses qui pourraient être problématiques.
Brideo

@MagenX donc après avoir appliqué le patch, je vérifiais ces zones, désolé si cela ne vous aidait pas.
Brideo

Ah, la suite de tests de base pour les contrôles après correctifs vous permet de vous assurer que vos clients et vos employés le trouvent bien. Cela semble tout à fait logique d’exploiter les zones affectées par les fichiers correctifs.
Fiasco Labs

Ce serait une bonne (meilleure?) Réponse à cette question ici: magento.stackexchange.com/questions/98565/…
Anna Völkl




8

Capture d’écran pour la page des détails de la commande de l’administrateur, Si vous affichez ce type de problème, veuillez suivre les instructions ci-dessous, cela fonctionne pour moi!entrez la description de l'image ici

Solution

Modifiez la ligne 124 dans app / code / core / Mage / Adminhtml / Helper / Sales.php à partir de $ links = []; à $ links = array ();


7

Chaque fois que nous installons un correctif pour l'un de nos clients, nous utilisons la liste de contrôle suivante:

  • Faites une sauvegarde complète des fichiers du site et de la base de données.
  • Assurez-vous que tous les correctifs précédents ont été installés avec succès (visible dans le app/etc/applied.patches.listfichier)
  • Une fois l'installation du correctif terminée, effacez le cache et effectuez une commande de test pour vous assurer que tout fonctionne.

Je suppose que c'est vraiment tout ce qu'il y a à faire. Les correctifs sont conçus pour être installés rapidement et sans tracas. 9 fois sur 10, ils installeront parfaitement bien et pour les autres fois, nous avons des sauvegardes. Tant que vous ne jouez pas avec les fichiers de base, tout devrait bien se passer.


Fichier probablementapp/etc/applied.patches.list
MagenX

3
Je ne pense pas que cela réponde à la question. Le PO fait référence à la norme SUPEE-6788 qui exigeait des tonnes de travail manuel dans des extensions tierces, pas la procédure à suivre pour appliquer un correctif.
Robbie Averill

OP fait référence à SUPEE-6788 Robbie, pas 6788.
Gary Olderman

Désolé, pour clarifier la question est évidemment sur 7405 mais est demandé à la lumière du cauchemar qui était 6788- c'est contexte
Robbie Averill

6

Ici fichiers affectés pour 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

Après avoir appliqué le SUPEE-7405 sur Magento 1.14.1.0, j'ai eu l'erreur:

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

Le problème était dû à la nouvelle déclaration de la méthode _validateControllerInstance dans

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

Après avoir supprimé la deuxième (même) déclaration de fonction, le problème a été résolu.


5

J'ai eu l'erreur suivante après l'installation du correctif SUPEE-7405 lors de la tentative de connexion à l'administrateur.

Erreur fatale: appel de la méthode non définie Mage_Core_Controller_Response_Http :: sendHeadersAndExit () dans
\ app \ code \ core \ Mage \ Admin \ Modèle \ Session.php à la ligne 135

parce que ce fichier a été remplacé dans le pool de code local pour lequel la sendHeadersAndExit méthode n'a pas été créée par ce correctif.

\app\code\local\Mage\Core\Controller\Response\Http.php la méthode suivante n'existe pas. (Ceci est une nouvelle méthode ajoutée au fichier core)

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

Après avoir ajouté ceci au problème de fichier remplacé, le problème a disparu.


3

L'un des problèmes rencontrés lors de l'utilisation de SUPEE-7405 est le bogue de téléchargement d'image.

Par conséquent, je vérifie les modifications dans ce fichier: lib / Varien / File / Uploader.php

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

Ensuite, j'ai découvert deux façons de le surmonter:

Option 1:

J'effectue une modification manuelle du fichier lib / Varien / File / Uploader.php pour ajuster les autorisations 0640/0750.

Option 2: Parce que Magento s'attend à ce que le serveur Web possède les fichiers du site:

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

L’autre façon de résoudre le problème consiste à faire du serveur Web le propriétaire des fichiers.

chown -R nom-utilisateur-serveur-Web magento / root / path

Le nom d'utilisateur du serveur Web est généralement www-data ou apache.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.