SUPEE-10975潜在的な問題


16

SUPEE-10975がリリースされました。これを適用しようとして問題が発生した場合、7.2サポートを追加する最新のパッチと競合しますか?

これまでのところ、これらは私が見ることができる変更されたファイルです

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

これらの変更で誰かが問題に遭遇しましたか?

回答:


12

これまでに、SUPEE-10975パッチで次の問題に遭遇しました。

  • 新しいメソッドにreturnステートメントがないため、管理者を介して顧客グループを削除することはもうできませんMage_Adminhtml_Block_Customer_Group_Edit::getDeleteUrl(@ mikhail-chelevichが発見した問題)。これは、秘密鍵がデフォルトの管理者に対して有効になっている場合です。この問題は1.9.4.0にも存在します。この問題は、公式にリリースされていないSUPEE-11043パッチで修正されていますが、GitHub Gistとして入手可能です。
  • Mage_Sendfriendモジュールはまた、無効化せずに無効にすることはできませんMage_Captchaモジュールを。そうでない場合、次のコア例外が発生します:Module "Mage_Captcha" requires module "Mage_Sendfriend".(@zlepによって発見された問題)
  • テーマでsendfriend/send.phtml行われたテンプレートへの変更は、rwd/defaultテーマでは行われませんbase/default。これは、base/defaultテーマではCAPTCHAを有効にできないこと、および以前に入力した受信者の名前とメールがページに表示されないことを意味します(サーバー側検証エラーをトリガーするフォーム送信の一般的な場合)。
  • 新しいメソッドでは、受信者なしでページをロードするときに値に対してMage_Sendfriend_Block_Send::getRecipientsCounta countが実行されるため、PHP 7.2の非互換性が導入されNULLます(これは、新しいページのロードのデフォルトです)。この問題は1.9.4.0で修正されました。

1.9.3.10のパッチのみをチェックしたことに注意してください。ただし、パッチのすべてのバージョンに問題があると思われます。


11

行方不明return parent::getDeleteUrl()のアプリ/コード/コア/メイジ/ Adminhtml /ブロック/顧客/グループ/个人设定に

+    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();
+        }
+    }

これはどのMagentoバージョンのためのものでしたか?
danmentzer

1
この問題は確認できました。管理者を介して顧客グループを削除することはできなくなりました。これは、デフォルトの管理者に対して秘密鍵が有効になっている場合に発生します。これは、SUPEE-10975パッチおよびMagento Open Source 1.9.4.0に含まれています。
Aad Mathijssen

このSUPEE-11043を解決するための追加のパッチが作成されました
Andrew

@andrew SUPEE-11043については何も見つかりません。いくつかのソースをリンクできますか?
darnok

1
修正は交換する必要がありますので、parent::getDeleteUrl();アプリ/コード/コア/メイジ/ Adminhtml /ブロック/顧客/グループ/个人设定でreturn parent::getDeleteUrl();
ルネSchep

8

10975パッチの問題に遭遇しました。いくつかの調査の後、私はパッチがどこで混乱していたのか、そしてその理由に関する答えを追跡することができました。

以下のチェックを要約し、SUPEE 9767 V2に適切にパッチ適用したことを確認してください。それが私の問題の根本です。

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

上記は、このファイルに固有のエラーです。

Mage / Core / etc / config.xml

エラーは、パッチのこの行から発生します。

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>

手動でパッチを適用するため、ここにリストされているバージョンは正しく一致しません

SUPEE 9767 v2

このパッチには、手動でパッチを当てたときに見落としたこの行が含まれていました。

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

まず、erejの回答が重複して申し訳ありませんが、評判スコアのためにコメントも編集もできません。

パッチはここに新しいファイルを作成します: app/code/core/Zend/Controller/Request/Http.php

このファイルをオーバーライドするために追加されたもの: lib/Zend/Controller/Request/Http.php

問題は1.9.0.0(EE 1.14.0.0)未満のMagentoの場合:

この方法 :

/**
 * 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ファイルでオーバーライドされます app/code/core/Mage/Core/Controller/Request/Http.php

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

これは引数をとりません。

そのため、すべてのWebサイトのURL、フロント、および管理者に対して、この厳格な通知が発行されます。

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

そのパッチのV2が近づいていることを誰かが知っているなら、私に知らせてください。

更新を待って、次の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では、このパッチを適用した後、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;
}

このパッチはapp/code/core/Zend/Controller/Request/Http.phpファイルを追加し、getBaseUrl()関数はparameterで宣言されているため$raw = falseです。


この関数を追加する必要はないはずです。この関数を呼び出す機能は1.8.1で$ rawを設定してはならないため、常にデフォルトで未処理になります。
ルネシェプ

4

「ハンク#1が28で失敗しました」という問題があります

拒否はconfig.xml.rejに保存されると思われますが、このファイルは存在せず、スクリプトのどの部分がターミナルウィンドウで失敗したかの説明もありません。基本的にパッチは失敗し、その理由は示されていません-少なくとも私のような馬鹿者にはそうではありません!

パッチを初めて実行すると、存在しなかった3つのjquery v 1.12.0ファイルを削除しようとしたため、これらを置き換えてパッチを再度適用しましたが、有用な説明なしで失敗します。

Magento 1.9.0.1は、PHP 7.2互換性アップデートとは別に完全にパッチが適用されます。解決できない場合、または誰かが手がかりを与えてくれない限り、パッチは適用されません。

PS私の投稿がSEガイドラインに違反しているかどうかわかりません。元の質問に答えていますが、助けを求めています。


1
パッチ9767 v2に関連し、Mage / Core / etc / config.xmlに新しいバージョン番号を追加します。現在のバージョン番号に追加する必要があります。これに対する答えも。
-danmentzer

3

Mage_Backupモジュールは、パッチによって無効になります。

これは、公式リリースノート(https://devdocs.magento.com/guides/m1x/ce19-ee114/ce1.9_release-notes.html#ce19-1940)に記載されています

ただし、それを再度有効にするための推奨される解決策は間違っています。

(「これらの2つの方法のいずれかを使用して、データベースのバックアップを有効にすることもできます」)

実際に有効にするには、上記の両方の方法を使用する必要があります。


2
また、Mage_Backupモジュールを再度有効にすると、「リモートコード実行(RCE)、クロスサイトスクリプティング(XSS)、およびクロスサイトリクエストフォージェリ(CSRF)の問題」が発生することに注意してください。
ルネシェップ

2

税計算を正しく処理する際に問題が発生する可能性があります。

多くの国で慣例となっているように、お客様はMagentoの「価格に税金が含まれる」構成を使用しています。

そのため、1.9.3.10から1.9.4.0に更新した後、税は既に税を含んでいる品目価格に加えて、精算時に総計に追加されました。

この問題は、ファイルapp / code / core / Mage / Sales / etc / config.xmlの構成の変更まで追跡しました。ここで、「msrp」がノードsales / quote / totals / shipping / afterに追加されました。

リリースノートにはMSRPに関するものは何も見つかりませんでしたが、これが副作用のない孤立した変更であることを願っています。

私の解決策は、「元の値に、このノードの背中を変更することでした、tax_subtotalをFREESHIPPING、小計」なし「MSRP」。私は自分のモジュールのetc / config.xmlでそうしました。


1

特定の問題ですが、Mage_Sendfriendを無効にすると(以前は安全に無効にできるモジュールでした)、例外エラーがスローされます。


1
彼らはMage_Captchaを他の方法ではなくMage_Sendfriendに依存させました。そのため、Mage_Cendchaを無効にしてMage_Sendfriendを無効にする必要があります。それは無効になりますので、あなたが望むものではないかもしれませんどのすべてのMagentoのデフォルトのreCAPTCHAのの
ルネ・Schep

0

今日Magento CE 1.9.3.10から1.9.4.0にアップグレードしようとしましたが、複数のエラーが発生しました。幸いなことに、インストールは台無しになりませんでした。インストール後、私は恐ろしくなりました-内部サーバーエラー。ロックアウトされたため、maintenance.flagを削除するとともに、SSH経由ですべてのファイルとフォルダーのアクセス許可をリセットする必要がありました。次に、インデックスを再作成し、キャッシュを再度有効にしました。さらに、ルートおよびダウンロードフォルダーにある古い.htaccessファイルに戻す必要がありました。正常なインストールを得るための修正アクションがどうあるべきかわかりません。コマンドラインウィンドウからテキストをコピーするのを忘れました。そのため、すべてのエラーを投稿することはできません。私が見たのは、互換性のないメッセージでした。


1
ダウンローダーを介した「アップグレード」方法は、少なくとも少し編集されたインストールで動作したとは思わない。私は夢中ですか?
カルビンクリエン

Magento Connectを使用した「アップグレード」方法は、私にとって常に機能します。私は3つのM1サイトすべてに使用し、それらはすべて(適切に)非常にカスタマイズされています。
MagentoAaron

0

スケジュールバックアップを削除しましたか? スケジュールバックアップセクションなし

または、何らかの問題がありますか?どうしてこれに言及がないのですか?これはMagentoのパターンのようで、更新が出たときにこれらのような変更について言及していません。

更新:すべてのバージョンから完全に削除されたようです。

更新:バックアップを異なる方法で行う必要がありました。興味がある人がいれば、CRONコマンドのいくつかをここに投稿しました:SUPEE-10975後のバックアップ戦略?


これは特定のバージョン向けですか?
ラゼンティック

2
あたり twitter.com/ryanhoerr/status/1067819214314987520彼らはこのパッチごと削除特定の部分です。
danmentzer

Oh god ... ok classic-他のソースから、機能の削除/追加についてmagentoを確認する必要があります。
カルビンクリエン

1
実際、@ KalvinKlienのリリースノートの最初の段落には、非アクティブ化されたことが記載されています。 devdocs.magento.com/guides/m1x/ce19-ee114/...
ピーター・ヤープBlaakmeer

3
このパッチの変更点は、Mage_Backupがデフォルトで非アクティブ化され、コード実行のチェックが厳しくなることです(たとえば、モジュールのブロック出力が非アクティブ化された場合、バックアップは実行されません)。app / etc / modules / Mage_All.xmlのMage_Backupセクションでfalseをtrueに変更することにより、モジュールを手動で再度有効にすることができます。バックアップ機能を再度有効にすると、「リモートコード実行(RCE)、クロスサイトスクリプティング(XSS)、クロスサイトリクエストフォージェリ(CSRF)の問題」が発生する可能性があることに注意してください。
ルネシェップ

0

以前の開発者がカスタムマルチストア構成を使用していたサイトで問題が発生しました。ベースストア以外のストアのURLはすべて404ingでした。「HTTP_X_REWRITE_URL」サーバー変数/ HTTPヘッダーを設定し、Magentoリクエストによって処理されたURLを変更しました。

この変数は\ Zend_Controller_Request_Http :: setRequestUri()によって使用されましたが、app / code / core / Zend / Controller / Request / Http.phpの新しいバージョンでは使用されなくなりました。可能な修正は次のとおりです。

  • $ _SERVER ["IIS_WasUrlRewritten"]を「1」に設定し、代わりに$ _SERVER ["UNENCODED_URL"]を設定します
  • 代わりに$ _SERVER ["REQUEST_URI"]を設定してください

どちらもおそらく機能しますが、前者は以前のシステムにより近い機能を果たすため、意図しない結果をもたらす可能性は低くなります。


0

支払方法に関する特定のエラーは利用できません

The requested Payment Method is not availableMagentoによって多くのエラーがスローされました。製品返品での支払い方法がある注文ですべてccsave、それはこのスピーによって削除されましたconfig.xml

Magentoは$keyxmlパスをチェックして(この場合は支払い方法ccsave)を探しているため、エラーがスローされていますpayment/ccsave/model。見つからない場合、エラーがスローされます。そこでgit checkout [insert supee commit]^ app/code/core/Mage/Payment/etc/config.xml、エラーを修正するために、マスターにプッシュしました。

app / code / core / Mage / Payment / Helper / Data.php

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

app / code / core / Mage / Payment / etc / config.xml

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


-5

おそらくそうではありませんが、バージョン1.9.4.0はすでに両方とも実装されています。


1
これらのスタックポストは、特に他の開発者が問題を認識できるようにするためのものであり、これに対するあなたの回答は、問題について役に立たなかったり説明的ではありません。正直にこれを削除します。
danmentzer
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.