SUPEE-10975 Olası Sorunlar


16

SUPEE-10975 yayınlandı, bunu uygulamaya çalışırken kimsenin herhangi bir sorunla karşılaşıp karşılaşmadığını bilmek harika olurdu, bu 7.2 desteği ekleyen en son yama ile çakışacak mı?

Şimdiye kadar gördüğüm değiştirilmiş dosyalar bunlar

app/code/core/Mage/Adminhtml/Block/Customer/Group/Edit.php
app/code/core/Mage/Adminhtml/Block/Newsletter/Template/Edit.php
app/code/core/Mage/Adminhtml/controllers/Cms/BlockController.php
app/code/core/Mage/Adminhtml/controllers/Customer/GroupController.php
app/code/core/Mage/Adminhtml/controllers/SitemapController.php
app/code/core/Mage/Adminhtml/controllers/System/BackupController.php
app/code/core/Mage/Captcha/Model/Observer.php
app/code/core/Mage/Captcha/Model/Zend.php
app/code/core/Mage/Captcha/etc/config.xml
app/code/core/Mage/Catalog/Model/Api2/Product/Image/Rest/Admin/V1.php
app/code/core/Mage/Catalog/Model/Product/Attribute/Media/Api.php
app/code/core/Mage/Cms/Model/Wysiwyg/Images/Storage.php
app/code/core/Mage/Core/etc/config.xml
app/code/core/Mage/Core/sql/core_setup/upgrade-1.6.0.7.1.1-1.6.0.7.1.2.php
app/code/core/Mage/Dataflow/Model/Convert/Container/Abstract.php
app/code/core/Mage/ImportExport/Model/Import/Entity/Customer.php
app/code/core/Mage/ImportExport/Model/Import/Entity/Customer/Address.php
app/code/core/Mage/Payment/etc/config.xml
app/code/core/Mage/Payment/etc/system.xml
app/code/core/Mage/Payment/sql/payment_setup/upgrade-1.6.0.0.1.1-1.6.0.0.1.2.php
app/code/core/Mage/Sendfriend/Block/Send.php
app/code/core/Mage/Wishlist/controllers/IndexController.php
app/code/core/Zend/Controller/Request/Http.php
app/design/adminhtml/default/default/template/cms/browser/content/files.phtml
app/design/frontend/base/default/layout/captcha.xml
app/design/frontend/base/default/template/wishlist/sharing.phtml
app/design/frontend/rwd/default/layout/page.xml
app/design/frontend/rwd/default/template/sendfriend/send.phtml
app/etc/modules/Mage_All.xml
app/etc/modules/Mage_Captcha.xml
app/locale/en_US/Mage_Wishlist.csv
js/lib/jquery/jquery-1.12.0.js
js/lib/jquery/jquery-1.12.0.min.js
js/lib/jquery/jquery-1.12.0.min.map
js/lib/jquery/jquery-1.12.1.js
js/lib/jquery/jquery-1.12.1.min.js
js/lib/jquery/jquery-1.12.1.min.map

Bu değişikliklerle herhangi bir sorunla karşılaşan oldu mu?

Yanıtlar:


12

Şimdiye kadar, SUPEE-10975 yamasıyla aşağıdaki sorunlarla karşılaştım:

  • Yeni yöntemde eksik iade ifadesi Mage_Adminhtml_Block_Customer_Group_Edit::getDeleteUrl(@ mikhail-chelevich tarafından bulunan sorun) nedeniyle müşteri gruplarını yönetici aracılığıyla silmek artık mümkün değil . Bu, yönetici için gizli anahtarlar etkinleştirildiğinde geçerli olan durumdur. Konu 1.9.4.0'da da mevcuttur. Bu sorun, resmi olarak yayımlanmamış ancak GitHub Gist olarak kullanılabilen SUPEE-11043 düzeltme eki ile giderilmiştir .
  • Mage_SendfriendModül ayrıca devre dışı bırakmadan devre dışı olamaz Mage_Captchamodülü. Aksi takdirde, aşağıdaki temel istisna oluşur: Module "Mage_Captcha" requires module "Mage_Sendfriend".(@zlep tarafından bulunan sorun)
  • Temada yapılan sendfriend/send.phtmlşablonda yapılan değişiklikler rwd/defaulttemada yapılmaz base/default. Bu, base/defaulttema için CAPTCHA'nın etkinleştirilemeyeceği ve ayrıca önceden girilmiş alıcıların adlarının ve e-postalarının sayfada gösterilmediği anlamına gelir (tipik olarak sunucu tarafı doğrulama hatasını tetikleyen bir form gönderimi için).
  • Yeni yöntem Mage_Sendfriend_Block_Send::getRecipientsCount, PHP 7.2 uyumsuzluğu sunar, çünkü sayfa alıcı olmadan yüklenirken countbir NULLdeğer üzerinde gerçekleştirilir (yeni sayfa yüklemesinde varsayılan değerdir). Bu sorun 1.9.4.0'da giderilmiştir.

Yamayı yalnızca 1.9.3.10 için kontrol ettiğimi, ancak sorunların yamanın tüm sürümlerinde mevcut olduğundan şüpheleniyorum.


11

Eksik return parent::getDeleteUrl()uygulama / kod / çekirdek / Büyücü / Adminhtml / Blok / Müşteri / Grup / edit.php içinde

+    public function getDeleteUrl()
+    {
+        if (!Mage::getSingleton('adminhtml/url')->useSecretKey()) {
+            return $this->getUrl('*/*/delete', array(
+                $this->_objectId => $this->getRequest()->getParam($this->_objectId),
+                'form_key' => Mage::getSingleton('core/session')->getFormKey()
+            ));
+        } else {
+            parent::getDeleteUrl();
+        }
+    }

Bu hangi Magento sürümü içindi?
danmentzer

1
Bu sorunu onaylayabilirim: artık müşteri gruplarını yönetici aracılığıyla silmek mümkün değil. Bu, yönetici için gizli anahtarlar etkinleştirildiğinde (varsayılan olan) gerçekleşir. Bu SUPEE-10975 yamasında ve ayrıca Magento Açık Kaynak 1.9.4.0'da mevcuttur.
Aad Mathijssen

Bu SUPEE-11043
Andrew

@andrew SUPEE-11043 hakkında hiçbir şey bulamıyorum. bazı kaynakları bağlayabilir misin?
darnok

1
Bu nedenle düzeltme parent::getDeleteUrl();, app / code / core / Mage / Adminhtml / Block / Customer / Group / Edit.php yerinereturn parent::getDeleteUrl();
René Schep 5:18 '

8

10975 yamasıyla ilgili bir sorunla karşılaştım. Biraz araştırmadan sonra yamanın nerede ve neden dağıldığına dair cevabı izleyebildim.

Aşağıdaki özeti özetlemek ve SUPEE 9767 V2'yi doğru şekilde yamaladığınızdan emin olun . Sorunumun kökü bu.

sh PATCH_SUPEE-10975_EE_v1.12.0.2_v1-2018-11-27-10-36-30.sh
Checking if patch can be applied/reverted successfully...
ERROR: Patch can't be applied/reverted successfully.

patching file app/code/core/Enterprise/PageCache/Model/Processor.php
Hunk #1 succeeded at 690 (offset -3 lines).
patching file app/code/core/Enterprise/Pci/etc/config.xml
patching file app/code/core/Enterprise/Wishlist/Block/Customer/Sharing.php
patching file app/code/core/Mage/Adminhtml/Block/Customer/Group/Edit.php
patching file app/code/core/Mage/Adminhtml/Block/Newsletter/Template/Edit.php
patching file app/code/core/Mage/Adminhtml/controllers/Cms/BlockController.php
patching file app/code/core/Mage/Adminhtml/controllers/Customer/GroupController.php
patching file app/code/core/Mage/Adminhtml/controllers/SitemapController.php
patching file app/code/core/Mage/Adminhtml/controllers/System/BackupController.php
patching file app/code/core/Mage/Captcha/Model/Observer.php
patching file app/code/core/Mage/Captcha/Model/Zend.php
patching file app/code/core/Mage/Captcha/etc/config.xml
patching file app/code/core/Mage/Catalog/Model/Api2/Product/Image/Rest/Admin/V1.php
patching file app/code/core/Mage/Catalog/Model/Product/Attribute/Media/Api.php
patching file app/code/core/Mage/Cms/Model/Wysiwyg/Images/Storage.php
patching file app/code/core/Mage/Core/etc/config.xml
Hunk #1 FAILED at 28.
1 out of 3 hunks FAILED -- saving rejects to file app/code/core/Mage/Core/etc/config.xml.rej
patching file app/code/core/Mage/Core/sql/core_setup/upgrade-1.6.0.2.1.2-1.6.0.2.1.3.php
patching file app/code/core/Mage/Dataflow/Model/Convert/Container/Abstract.php
patching file app/code/core/Mage/ImportExport/Model/Import/Entity/Customer.php
patching file app/code/core/Mage/ImportExport/Model/Import/Entity/Customer/Address.php
patching file app/code/core/Mage/Payment/etc/config.xml
patching file app/code/core/Mage/Payment/etc/system.xml
patching file app/code/core/Mage/Payment/sql/payment_setup/upgrade-1.6.0.0.1.1-1.6.0.0.1.2.php
patching file app/code/core/Mage/Wishlist/controllers/IndexController.php
patching file app/code/core/Zend/Controller/Request/Http.php
patching file app/design/adminhtml/default/default/template/cms/browser/content/files.phtml
patching file app/design/adminhtml/default/default/template/enterprise/cms/page/preview/revision.phtml
patching file app/design/adminhtml/default/default/template/enterprise/customersegment/report/detail/grid/container.phtml
patching file app/design/adminhtml/default/default/template/enterprise/giftregistry/customer/form.phtml
patching file app/design/adminhtml/default/default/template/enterprise/staging/log/information/merge.phtml
patching file app/design/adminhtml/default/default/template/enterprise/staging/log/information/rollback.phtml
patching file app/design/frontend/base/default/layout/captcha.xml
patching file app/design/frontend/base/default/template/wishlist/sharing.phtml
patching file app/design/frontend/enterprise/iphone/template/downloadable/sales/order/creditmemo/items/renderer/downloadable.phtml
patching file app/etc/modules/Mage_All.xml
patching file app/etc/modules/Mage_Captcha.xml
patching file app/locale/en_US/Enterprise_Wishlist.csv
patching file app/locale/en_US/Mage_Wishlist.csv
patching file js/enterprise/adminhtml/staging.js

Yukarıda bu dosyaya özgü vurduğum hata.

Mage / çekirdek / etc / Config.xml

Hata, düzeltme ekinin bu satırından gelir.

diff --git app/code/core/Mage/Core/etc/config.xml app/code/core/Mage/Core/etc/config.xml
index 4aebdcdc2cf..4b28f2765a1 100644
--- app/code/core/Mage/Core/etc/config.xml
+++ app/code/core/Mage/Core/etc/config.xml
@@ -28,7 +28,7 @@
 <config>
     <modules>
         <Mage_Core>
-            <version>1.6.0.2.1.2</version>
+            <version>1.6.0.2.1.3</version>
         </Mage_Core>
     </modules>
     <global>

Burada listelenen sürüm, elle düzeltme eki nedeniyle doğru eşleşmiyor

SUPEE 9767 v2

Bu yama, elle yama yaparken özlediğim bu çizgiyle geldi.

diff --git app/code/core/Mage/Core/etc/config.xml app/code/core/Mage/Core/etc/config.xml
index 4a0ff1b..d0de702 100644
--- app/code/core/Mage/Core/etc/config.xml
+++ app/code/core/Mage/Core/etc/config.xml
@@ -28,7 +28,7 @@
 <config>
     <modules>
         <Mage_Core>
-            <version>1.6.0.2</version>
+            <version>1.6.0.2.1.2</version>
         </Mage_Core>
     </modules>
     <global>

5

Birincisi, erej cevabının kopyası için özür dilerim, itibar puanım nedeniyle yorum yapamaz veya düzenleyemem.

Düzeltme eki burada yeni bir dosya oluşturur: app/code/core/Zend/Controller/Request/Http.php

Bu dosyayı geçersiz kılmak için eklendi: lib/Zend/Controller/Request/Http.php

Sorun Magento için 1.9.0.0'ın altındadır (EE 1.14.0.0):

Bu method :

/**
 * Everything in REQUEST_URI before PATH_INFO
 * <form action="<?=$baseUrl?>/news/submit" method="POST"/>
 *
 * @return string
 */
public function getBaseUrl($raw = false)
{
    if (null === $this->_baseUrl) {
        $this->setBaseUrl();
    }

    return (($raw == false) ? urldecode($this->_baseUrl) : $this->_baseUrl);
}

Magento Core dosyasında geçersiz kılındı app/code/core/Mage/Core/Controller/Request/Http.php

public function getBaseUrl()
{
    $url = parent::getBaseUrl();
    $url = str_replace('\\', '/', $url);
    return $url;
}

Hangi argüman almaz.

Bu yüzden herhangi bir web sitesi url, ön & admin bu sıkı bildirimi ateşler:

Strict Notice: Declaration of Mage_Core_Controller_Request_Http::getBaseUrl() should be compatible with Zend_Controller_Request_Http::getBaseUrl($raw = false) in /var/www/htdocs/app/code/core/Mage/Core/Controller/Request/Http.php on line 36

Birisi bu yamanın herhangi bir V2'sinin yolda olup olmadığını biliyorsa, lütfen bana bildirin.

Güncellemelerini beklerken yöntemi şu şekilde yeniden tanımlayabilirsiniz app/code/core/Mage/Core/Controller/Request/Http.php:

/**
 * @param bool $raw - Added manually to correct SUPEE-10975 oversight
 *      See /magento/251317/supee-10975-potential-issues
 *      for more information
 *
 * @return mixed|string
 */
public function getBaseUrl($raw = false)
{
    $url = parent::getBaseUrl($raw); // Argument added manually to correct SUPEE-10975 oversight
    $url = str_replace('\\', '/', $url);
    return $url;
}

4

1.8.1.0 sürümü ile bu yamayı uyguladıktan sonra app/code/core/Mage/Core/Controller/Request/Http.php::getBaseUrl(),

public function getBaseUrl($raw = false)
{
    $url = parent::getBaseUrl($raw);
    $url = str_replace('\\', '/', $url);
    return $url;
}

çünkü bu yama app/code/core/Zend/Controller/Request/Http.phpdosya ekler ve getBaseUrl()fonksiyon parametre ile bildirilir $raw = false.


Bu işlevi eklemek gerekli değildir. Bu işlevi çağıran her zaman varsayılan değildir, çünkü bu işlevi çağıran herhangi bir işlevin 1.8.1'de $ raw ayarlanmamış olması gerekir.
René Schep

4

'Hunk # 1 FAILED at 28' ile ilgili bir sorunum var

Reddetmelerin varsayılan olarak config.xml.rej dosyasına kaydedildiği ancak bu dosya mevcut olmadığından, komut dosyasının hangi bölümünün terminal penceremde başarısız olduğuna dair herhangi bir açıklama da yoktur. Temelde yama başarısız olur ve neden olduğuna dair hiçbir belirti yoktur - en azından benim gibi bir dumbass'a değil!

İlk çalıştırmada yama, var olmayan üç jquery v 1.12.0 dosyasını silmeye çalıştı, bunları değiştirdim ve yamayı tekrar uyguladım, ancak şimdi yararlı bir açıklama olmadan başarısız oluyor.

Magento 1.9.0.1 tamamen PHP 7.2 uyumluluk güncellemesi dışında yamalı, ben bunu çalışamaz sürece veya burada birisi bana bir ipucu verebilir (lütfen!)

PS: Mesajımın SE kurallarına aykırı olup olmadığından emin değilim, orijinal soruyu cevaplıyorum ama aynı zamanda yardım istiyorum.


1
Mage / Core / etc / config.xml'ye yeni bir sürüm numarası ekleyen 9767 v2 yamasıyla ilgili olarak bu sorunla karşılaştım. Sadece geçerli sürüm numarasına eklemeniz gerekir. 1.1 Ayrıca yazacağım bunun için de bir cevap.
danmentzer

3

Mage_BackupModül düzeltme ekiyle devre dışı bırakılacaktır.

Bu, resmi sürüm notlarında belirtilmiştir ( https://devdocs.magento.com/guides/m1x/ce19-ee114/ce1.9_release-notes.html#ce19-1940 ).

Ancak, yeniden etkinleştirmek için önerilen çözüm yanlış:

("Alternatif olarak, veritabanı yedeklemelerini etkinleştirmek için bu iki yöntemden birini kullanabilirsiniz ")

Aslında, tam olarak yeniden etkinleştirmek için belirtilen her iki yöntemi de kullanmanız gerekir.


2
Ayrıca Mage_Backup modülünü yeniden etkinleştirmenin sizi aşağıdakilere kadar açtığını unutmayın: "uzaktan kod yürütme (RCE), siteler arası komut dosyası oluşturma (XSS) ve siteler arası istek sahteciliği (CSRF) sorunları."
René Schep

2

Vergi hesaplamalarının doğru bir şekilde yapılmasıyla ilgili sorunlar olabilir .

Birçok ülkede alışılageldiği gibi, müşterimiz Magento'nun " fiyatlara vergiler dahil " yapılandırmasını kullanır .

Böylece, 1.9.3.10'dan 1.9.4.0'a yapılan güncellemeden sonra, vergi, zaten vergiler dahil olmak üzere ürün fiyatlarının üstünde, kasada genel toplama eklendi.

Ben dosya içinde yapılandırmasında bir değişikliğe aşağı sorunu izlenen app / kod / çekirdek / Büyücü / Satış / etc / config.xml " MSRP " düğüm eklendi / alıntı / toplamları / nakliye / sonra satış .

Sürüm notlarında MSRP ile ilgili hiçbir şey bulamadım ve umarım bunun herhangi bir yan etkisi olmayan izole bir değişikliktir.

Benim çözümüm orijinal değerine "Bu düğüm geri değiştirmekti ara toplam, freeshipping, tax_subtotal " olmadan " MSRP ". Bunu kendi modülümün etc / config.xml dosyasında yaptım.


1

Belirli bir sorun, ancak Mage_Sendfriend'ı (daha önce güvenli bir şekilde devre dışı bırakabileceğiniz bir modüldü) devre dışı bıraktıysanız, bir istisna hatası atılır.


1
Mage_Captcha'yı başka bir yol yerine Mage_Sendfriend'a bağlı yaptılar. Bu nedenle Mage_Sendfriend'ı devre dışı bırakmak için Mage_Captcha'yı da devre dışı bırakmanız gerekir. Hangi istediğiniz olmayabilir çünkü tüm Magento varsayılan recaptcha's devre dışı bırakır
René Schep

0

Bugün Magento CE 1.9.3.10'dan 1.9.4.0'a yükseltmeye çalıştım ve birden fazla hatayla karşılaştım. Neyse ki kurulumu berbat etmedi. Kurulumdan sonra korkunç - Dahili Sunucu Hatası aldım. Kilitlendim ve tüm dosya ve klasör izinlerimi SSF ile resetlemek zorunda kaldım. Daha sonra önbelleği yeniden indeksledim ve yeniden etkinleştirdim. Ayrıca Kök ve İndir klasöründeki eski .htaccess dosyama geri dönmek zorunda kaldım. Başarılı bir kurulum için düzeltici eylemin ne olması gerektiğinden emin değilim. Komut satırı penceresinden metni kopyalamayı unuttum. Bu yüzden tüm hataları gönderemiyorum. Gördüğüm şey uyumsuz mesajlardı.


1
Downloader üzerinden "yükseltme" yöntemi hiç en azından biraz düzenlenmiş herhangi bir kurulum üzerinde çalıştı sanmıyorum. Ben deli miyim?
Kalvin Klien

Magento Connect kullanan "yükseltme" yöntemi benim için her seferinde işe yarar. M1 sitelerimizin üçü için de kullanıyorum ve hepsi (uygun olsa da) yoğun şekilde özelleştirildi.
MagentoAaron

0

Zamanlanmış Yedeklemeyi kaldırdılar mı? Zamanlanmış Yedekleme Bölümü Yok

Yoksa bir tür sorunum mu var? Notların hiçbirinde neden bundan bahsedilmiyor? Bu, Magento ile, güncellemeler çıktığında böyle değişikliklerden bahsetmedikleri bir model gibi görünüyor.

GÜNCELLEME: tüm sürümlerden tamamen kaldırmış gibi görünüyor.

GÜNCELLEME: farklı yedekleme yapmak zorunda kaldı. İlgilenen birisi varsa, CRON komutlarının bazılarını buraya gönderdim: SUPEE-10975'i destekleme stratejisi?


Bu belirli bir sürüm için mi?
Razentic

2
Per twitter.com/ryanhoerr/status/1067819214314987520 Bu yama başına kaldırdıkları belirli bir bölüm.
danmentzer

Oh tanrım ... Tamam klasik - bazı diğer kaynaklardan bulduk ve sonra özelliklerin kaldırılması / eklenmesi hakkında eflatun bulmalıyım.
Kalvin Klien

1
@KalvinKlien aslında, sürüm notlarındaki ilk paragraf devre dışı bırakıldığını belirtir; devdocs.magento.com/guides/m1x/ce19-ee114/…
Peter Jaap Blaakmeer

3
Bu düzeltme ekindeki değişiklik, Mage_Backup öğesinin varsayılan olarak devre dışı bırakılmış olması ve kodun çalıştırılması için denetimlerin daha katı olmasıdır (örneğin, modül için blok çıkışı devre dışı bırakılırsa yedeklemeler çalışmaz). App / etc / modules / Mage_All.xml dosyasının Mage_Backup bölümünde false değerini true olarak değiştirerek yine de modülü manuel olarak yeniden etkinleştirebilirsiniz. Yedekleme işlevini yeniden etkinleştirmenin aşağıdakilere izin vermesine dikkat edin: "uzaktan kod yürütme (RCE), siteler arası komut dosyası oluşturma (XSS) ve siteler arası istek sahteciliği (CSRF) sorunları."
René Schep

0

Önceki bir geliştirici tarafından özel bir çoklu mağaza yapılandırması kullanan bir sitede bir sorun gördük. Ana mağaza dışındaki mağazaların URL'lerinin tamamı 404'dü. Magento İsteği tarafından işlenen URL'yi değiştiren "HTTP_X_REWRITE_URL" sunucu değişkeni / HTTP Üstbilgisi'ni ayarlar.

Bu değişken \ Zend_Controller_Request_Http :: setRequestUri () tarafından kullanılmıştır / kullanılmıştır, ancak app / code / core / Zend / Controller / Request / Http.php içindeki yeni sürüm artık bunu kullanmamaktadır. Olası düzeltmeler:

  • $ _SERVER ["IIS_WasUrlRewritten"] '1' olarak ayarlayın ve bunun yerine $ _SERVER ["UNENCODED_URL"]
  • Bunun yerine $ _SERVER ["REQUEST_URI"] ayarlayın

Her ikisi de muhtemelen işe yarayacaktır, ancak birincisi, önceki sisteme daha yakın çalıştığı için istenmeyen sonuçlara yol açma olasılığı daha düşüktür.


0

Ödeme Yöntemi ile ilgili belirli bir hata mevcut değil

The requested Payment Method is not availableMagento tarafından atılan birçok hata var . Tüm ürün iadesinde ödeme yönteminin olduğu siparişlerde ccsave, bu ihale tarafından kaldırıldı config.xml.

Magento'yu aradığı için hata atılıyor $keyxml yolları denetleyerek (bu durumda ödeme yöntemi ccsave): payment/ccsave/model. Eğer bulamazsa, bir hata atar. Bu yüzden sadece bir git checkout [insert supee commit]^ app/code/core/Mage/Payment/etc/config.xmlhata yaptık ve hatayı düzeltmek için ustalaştık.

Uygulama / kod / çekirdek / Mage / ödeme / Yardımcı / Data.php

public function getMethodInstance($code)
{
    $key = self::XML_PATH_PAYMENT_METHODS.'/'.$code.'/model';
    $class = Mage::getStoreConfig($key);
    return Mage::getModel($class);
}

Uygulama / kod / çekirdek / Mage / ödeme / etc / Config.xml

<default>
  <payment>
      <ccsave>
        <model>payment/method_ccsave</model>
      </ccsave>
  </payment>
  ...
</default>


-5

Muhtemelen hayır, ancak 1.9.4.0 sürümü zaten zaten uygulandı.


1
Bu yığın gönderileri özellikle diğer geliştiricilerin sorunlardan haberdar olabilmeleri için buna cevabınız herhangi bir sorun hakkında yararlı veya açıklayıcı değildir. Dürüst olmak gerekirse sadece bunu kaldıracağım.
danmentzer
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.