セキュリティパッチSUPEE-8788-起こりうる問題?


108

最新のMagento 1セキュリティパッチSUPEE-8788には17個のAPPSECアップデートが含まれているため、できるだけ早く適用することが非常に重要です。一方、下位互換性の問題は多く発生する可能性があり、過去1年間のパッチの履歴を考慮すると、不注意に適用することはありません。

良い点は、今回はフロントエンドテンプレートが含まれていないため、すべてのテーマにパッチを適用する必要がないように見えることです。 これは、Magento 1.8以降にのみ当てはまります。

それでも、パッチを適用した後に互換性の問題やバグが発生しましたか?


6
「関連するフロントエンドテンプレートはありません」-古いMagentoバージョンでは正しくありません。たとえば、1.7.0.2パッチは9つのフロントエンド/ベース/デフォルトテンプレートファイルを変更します。
クリストフ、フーマンで16年

magento.stackexchange.com/questions/140571 / ...これをだますか?多分ここにすべての情報をバンドルします
...-7ochem

2
パッチの.swf更新に問題がある場合は、パッチから行5951〜9818を削除し、手動で.swfファイルを削除しました/skin/adminhtml/default/default/media-これですべてのパッチが実行されたためです。
リアムマッカーサー

理由はわかりませんが、1.8.0.0に8788をインストールした後、パッチ7405はインストールされていないと報告します。v1およびv1.1が以前にインストールされていた間
-MagenX

2
@srinivasは、このパスskin / adminhtml / default / defaultからメディアフォルダーを削除しましたか?
プリヤポンサミー

回答:


107

重要な注意事項

1.9.3は1.9.2.4 + SUPEE-8788とは異なることに注意してくださいここに2つの違いがありますhttps : //gist.github.com/digitalpianism/14a15cd52baede0e5d600e8c653f33e9

10月14日更新:パッチのv2がリリースされました(以下を参照) 10月13日の時点で、1.5.xから1.8.xのパッチは、以前のパッチとの非互換性のためにMagentoのWebサイトから削除されました(以下を参照)。

https://community.magento.com/t5/Security-Patches/SUPEE-8788-AND-SUPEE-1533-Incompatible-Hunk-error/td-p/50434/highlight/false/page/2

パッチのV3

この新しいバージョンは、Magento EE 1.13.0.x専用です。

V3を適用します。

  • SUPEE 1533を元に戻す(インストールされている場合)
  • SUPEE 3941をインストールします(インストールされていない場合)
  • SUPEE 8788 v3をインストール

パッチのV2

V2を適用します。

  • SUPEE 8788 v1を元に戻す
  • SUPEE 1533を元に戻す(インストールされている場合)
  • SUPEE 3941をインストールします(インストールされていない場合)
  • SUPEE 8788 v2をインストール

DemacMediaは、上記のプロセスを自動化する便利なbashスクリプトを開発しました。https//github.com/DemacMedia/magento-SUPEE8788-patcher

パッチの詳細

パッチを掘り下げた後、興味深い部分があります(1.9.2.4からのパッチ):

  • Mage_Adminhtml_Block_Media_Uploaderに置き換えられたMage_Uploader_Block_Multipleため、Mage_UploaderFlashサポートをドロップする完全なモジュールがあります。古いブロックは廃止され、新しいブロックを拡張します。
  • アップローダーに関してはMage_Downloadableモジュールは新しい非フラッシュアップローダーを処理するためにリファクタリングされました。Mage_Uploader_Block_Singleテンプレートを使用する代わりに、アップロードブロックとして使用します。
  • この変更に続いて、SWFファイルskin/adminhtml/default/default/media/flex.swfskin/adminhtml/default/default/media/uploader.swfおよびskin/adminhtml/default/default/media/uploaderSingle.swfが削除されました。
  • アドレス削除コントローラは、現在のフォームのキーで保護されている経由で直接getDeleteUrlからMage_Customer_Block_Address_Book
  • ウィッシュリスト項目削除コントローラーはgetRemoveUrlfromを介してフォームキーで保護されるようになりましたMage_Wishlist_Helper_Data
  • Paypal Expressの支払い方法では、新しいユーザーをチェックアウトして登録するときに、使用する顧客の電子メールがMagentoに存在することが保証されるようになりました。(理解:新しい見積が処理される前に新しいユーザーが作成されます)
  • cURL / HTTPクライアントを使用する支払い方法CURLOPT_SSL_VERIFYHOSTが2に設定され(以前は0でした)、CURLOPT_SSL_VERIFYPEERフラグがcURL呼び出しに追加されました。検証ピアフラグは、SSL検証を有効にするドロップダウンを介して支払い方法の構成を介して有効/無効にすることができます。
  • Mage_Http_Client_CurlこれでCURLOPT_SSL_VERIFYPEERtrueに設定されました(以前はfalseでした)。これを使用するカスタムモジュールがある場合は注意してください。
  • 製品写真の最大寸法が構成で構成できるようになりました。注意:大きすぎる画像をアップロードすると、面白いエラーメッセージが表示される場合があります:パッチのアップロード後、Magento 1.9.2.2で許可されていないファイル形式

既知のSUPEE-8788 v2の問題

既知のSUPEE-8788 v1の問題

1.9.3.0の既知の問題

編集:リストが長くなり、この回答ではトピックから外れているため(SUPEE-8788関連ではないため)、1.9.3.0の既知の問題のリストについては、この投稿を参照できます:https://magento.stackexchange com / a / 140826/2380


1
豊富なリストをありがとう!1つの質問:全文検索の問題がSUPEE-8788パッチに適用されると確信していますか?この機能に関連する変更は見つかりません。
Aad Mathijssen

1
@MageDevは、質問の3番目のコメントを参照してください;)
デジタルピアニズムのラファエル

1
パッチを正常に適用した後に製品アップローダーが動作せず、人気のあるCreareSEOプラグインを使用している場合、この修正もgithub.com/adampmoss/CreareSEO/pull/78
joesk

1
「Paypal Expressの支払い方法により、使用する顧客の電子メールがMagentoに存在するようになりました」ということに気づきました。それは、ゲストがPayPalエクスプレスでチェックできないということですか?登録ユーザーである必要がありますか?何か不足していますか。
アイコン

1
古いアップローダーを使用していた一部のサードパーティの拡張機能は、パッチの適用後に壊れています。たとえば、「Magic 360」は、バックエンド製品の詳細タブにタブを追加しています。パッチを適用すると、製品の詳細を表示/編集できなくなります。Magento connect(magentocommerce.com/magento-connect/…)の拡張機能開発者にこの問題に気付きました。
ダークカウボーイ

29

パッチを適用すると、このエラーが発生する可能性があります。

checking file skin/adminhtml/default/default/media/flex.swf
checking file skin/adminhtml/default/default/media/uploader.swf
checking file skin/adminhtml/default/default/media/uploaderSingle.swf
Reversed (or previously applied) patch detected!  Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored
checking file skin/adminhtml/default/default/xmlconnect/boxes.css

8788パッチにはバイナリコンテンツが含まれています。Magentoは直接ダウンロードリンクを提供していないため(このポリシーは以来嫌いです)、コンピューターにパッチをダウンロードし、ファイル転送アプリケーション(WindowsのWinSCPなど)を使用してサーバーにアップロードする必要があります。たとえば、WinSCPはTEXTモードでアップロードします(WinSCPはデフォルトでテキストとして* .shファイルを処理します)。

このための回避策は、パッチファイルをzip / tarし、サーバー上でunzip / untarすることです。et voila。


すみません、これに答える方法がありませんでした

  1. 正しいmagentoバージョンをダウンロードします(例:CE 1.9.1.0)
  2. 次のファイルをダウンロードした場所に置き換えます

skin / adminhtml / default / default / media / flex.swf skin / adminhtml / default / default / media / uploader.swf skin / adminhtml / default / default / media / uploaderSingle.swf

  1. パッチを実行する

私のために働いた



10
OPの質問を読みましたか?fschmenglerからの質問:「それでも、パッチの適用後に互換性の問題やバグに遭遇しましたか?」パッチの適用中にこの問題が発生しました。このスレッドの意味は、SUPEE-8788のエラーの可能性を文書化することだと思います。これには-私見-パッチ自体の問題も含まれます。
-infabo

御treat走、ありがとう!今後のすべてのMagentoパッチにもこれを行うのが最善ですか?
KiwisTasteGood

または、dos2unix PATCH_SUPEE-8788_CE_1.9.2.4_v1-2016-10-11-07-03-46.sh
fbtb

一般的に、それは以前は必要ありませんでしたが、将来は必要ないと思われます。アップローダーSWFは、Magento 1.xに同梱されていた唯一のバイナリだったと思いますが、現在はなくなっています。したがって、今後このような問題が再び発生することはありません。
-infabo

3
FileZillaを使用して.shパッチファイルをMagentoルートbinaryにアップロードする場合、パッチファイルをアップロードする前に転送タイプをに設定します。参照
-ForMat

25

以前にSUPEE-1533を適用したことがある場合、パッチは失敗します app/code/core/Mage/Adminhtml/controllers/DashboardController.php.

私はこれを解決しました...

  1. SUPEE-1533によってそのファイルに導入された変更を手動で元に戻す
  2. SUPEE-8788を適用
  3. SUPEE-1533によってそのファイルに導入された変更を手動で再導入します

パッチファイルにはバイナリデータが含まれており、エディターに保存すると問題が発生する可能性があるため、SUPEE-8788から変更を削除することは危険です(別の落とし穴)。


元の1533パッチを元に戻し、SUPEE 8788をインストールしてから、再度1533をインストールしましたか?正しく理解できますか?
アイコン

また、28のapp / design / frontend / base / default / template / review / form.phtmlでFAILED HUNKの問題が発生しています。
アイコン

9
公式のインクリメンタルパッチを適切に適用するために時間をかけると、以前に提供されたパッチが適用されたときにパッチが機能しない場合に手動で修正する必要があるため、ペナルティを受けるのはなぜかと思います。非常に奇妙なアプローチ。
ジョンオランダ

1
SUPEE 1533がインストールされている1.9より前のバージョンのほとんどは、パッチを適切にインストールできません。SUPEE 8788は1533と互換性がありません
アイコン

2
@JonHollandなぜなら、まあ、それはMagentoだからです。
Agop

25

ここに私(および他の人)がこれまでに遭遇したことの要約があります。私はそれを整理し続け、行方不明のものを自由に追加またはリンクしようとしています。この投稿はコミュニティWikiです:

失敗したパッチの理由

「エラー:パッチを正常に適用/元に戻すことができません」と表示された場合は、ログメッセージで「Hunk#1 FAILED」を探し、パッチが失敗したファイルを確認します。

  • どうやら、Magento 1.7用のパッチのv2は、Magento 1.8および1.9にのみ存在しますが、 SUPEE-3941の存在を期待しています。Magento 1.7を使用していてdownloader、ファイルに関連するエラーが表示される場合は、1.8のSUPEE-3941をダウンロードして1.7に適用してください。こちらのコメントスレッドをご覧ください:セキュリティパッチSUPEE 8788の問題
  • 以前にSUPEE-1533を適用したMagentoバージョンではapp/code/core/Mage/Adminhtml/controllers/DashboardController.php、ファイルは両方のパッチの影響を受け、SUPEE-8788は(誤って!)パッチ未適用バージョンが存在すると想定するため、パッチは失敗します。これは、バージョン2のパッチでも同様です。バージョン2にはSUPEE-1533からの変更が含まれているため、以前にインストールした場合は元に戻す必要がありますが、後で手動で再度適用する必要はありません。

  • 「downloader」ディレクトリを削除または名前を変更した場合、ダウンローダー内のファイルにパッチが適用されるため、パッチは失敗します。最も簡単な回避策は、元のダウンローダーディレクトリを復元し、パッチを適用してから、ディレクトリを再度削除することです。または、downloader/lib/Mage/HTTP/Client/Curl.phpパッチから手順を削除することもできます。

  • その他の「Hunk FAILED」メッセージは、通常、コアファイルの変更または以前のパッチの欠落が原因です。Magentoバージョンの以前のパッチがすべてインストールされており、コアファイルを変更していないことを確認してください。

  • もう1つの一般的な問題は、パッチが.swfバイナリコンテンツのためにファイルの削除に失敗することです。エラーは次のようになります。

    checking file skin/adminhtml/default/default/media/uploaderSingle.swf
    Reversed (or previously applied) patch detected!  Assume -R? [n]
    Apply anyway? [n]
    Skipping patch.
    1 out of 1 hunk ignored

    またはこのように

    Patching file skin/adminhtml/default/default/media/uploader.swf using Plan A...
    No such line 2 in input file, ignoring
    Empty context always matches.
    Hunk #1 failed at 0.
    1 out of 1 hunks failed while patching skin/adminhtml/default/default/media/uploader.swf
    Hmm...  The next patch looks like a unified diff to me...
    The text leading up to this was:
    --------------------------

    またはこのように:

    Checking if patch can be applied/reverted successfully...
    /bin/patch: **** malformed patch at line 5790: ?rM]M??????&X㔮??v??Q;r?N?qJ??Y???I0?Y??4??'?????9?.??X?Ǒ?{??ax!G???I???q?u|????թ??????|
                                                   h??o?V@??|? ?g?H aꪭ??Ю???,I"?ğ????.??    yI?I\????)?X?
                         ?p???*?e?q?K8<DqD?H;|?
    ERROR: Patch can't be applied/reverted successfully.

    可能な解決策は、@ infaboによってこの回答に記載されています。https://gist.github.com/piotrekkaminski/9bc45ec84028611d621eで説明されているcurlを使用して、Cygwinで試したときを除いて、パッチを適用したいシステムに直接ダウンロードする

失敗したパッチに対処するための高度な方法: @PeterOCallaghanは、ドライラン行をコメント化して、*。rej​​ファイルを手動で処理することを提案しました。これにより、パッチを部分的に適用でき、swfファイルの削除に失敗した場合は、手動で実行できます。または、downloaderそのディレクトリを削除したためにファイルの更新に失敗した場合は、単に無視できます。

  1. vi PATCH_SUPEE-8788_CE_1.8.1.0_v1-2016-10-11-06-54-44.sh(または同様のファイル名)の_apply_revert_patch dry-runように 変更#_apply_revert_patch dry-run

  2. 発行してパッチを実行する ./PATCH_SUPEE-8788_CE_1.8.1.0_v1-2016-10-11-06-54-44.sh

それはあなたのファイルにパッチを当てます

  1. にコメント_apply_revert_patchする#_apply_revert_patch

  2. パッチを再度実行して、app/etc/app/etc/applied.patches.listエントリを追加します

  3. すべての.rejファイルのgrep

    git status | grep *.rej

  4. これらの変更で手動で作業する

パッチ適用後の問題

フォームキー

  • 1.8より前のMagentoバージョンでは、frontend/base/defaultテンプレートに変更があります。テーマがこれらのファイルを上書きする場合は、テーマに同じ変更を手動で適用してください。

    より具体的には、次のようなフロントエンドアクション用のフォームキーが追加されました。

    • ウィッシュリストからアイテムを削除する
    • ストアビューから顧客の住所を削除する
    • バスケットの見積アイテムを更新する

    これらのアクションで問題が発生した場合は、@ LukeRogersによるこの回答を参照してください。

カスタムアップローダー

Unirgy_Rapidflowおよびその他のカスタムアップロードフォームの拡張機能は動作しなくなりました。

参照してください。この回答を @lloiaconoによって@mpchadwick、コメントで

に置き換え$this->getUploader()->getConfig()て修正し$this->getUploader()->getUploaderConfig()ましたUnirgy_RapidFlow_Block_Adminhtml_Profile_Edit_Tab_Upload

拡張機能のいずれかがこれを使用しているかどうかを確認するには、コマンドラインで次のコマンドを実行します。

grep -R 'getUploader()->getConfig();' app/code/community

報告されたエラーメッセージ

  • PHP致命的エラー:未定義関数hash_equals()の呼び出し

    あなたはPHPのバージョンである場合、前に5.6に起こり、上書きcode/core/Mage/core/functions.phpcode/local/Mage/core/functions.php(あなたがFishpig拡張を使用する場合場合であるかもしれません)。@ClaudiuCreangaによるこの回答を参照してください


パッチv2で解決された問題

これらの問題のいずれかが発生した場合は、おそらくバージョン1のパッチ(ファイル名に「v1」)を使用しています。パッチを再度ダウンロードして、これらの問題を修正する「v2」を取得します。

  • SUPEE-3941との互換性の問題があり、 downloader/lib/Mage/HTTP/Client/Curl.php

  • /lib/Unserialize/Reader/ArrValue.phpのメッセージ「サポートされていないデータ型N」の「例外」

  • EE 1.14.2.0のパッチには、削除すべき新しいファイルtest_oauth.phpが誤って含まれていました@MatthiasZeisによるこの回答をご覧ください


バスケットの見積品目を更新するときに追加されるフォームキーは、SUPEE-8788で追加されたものではありません(少なくとも1.9.2.4からではありません)
Digital PianismのRaphael

@RaphaelatDigitalPianismでは、少なくとも1.13.0.1パッチにより、フォームキーの検証がに追加されMage_Checkout_CartController::updatePostAction、潜在的に他のパッチバージョンも追加されます。
ルークロジャース

23

あなたが取得する場合

Call to undefined function hash_equals() error

あなたのパッチが成功したとしても、それはあなたがfunctions.phpをにコピーしたことを意味するかもしれませんapp/code/local/Mage/Core

そのファイルはコアのファイルを上書きするため、その関数もそこに挿入する必要があります。

app/code/local/Mage/Core/functions.php最後に挿入します:

if (!function_exists('hash_equals')) {
    /**
     * Compares two strings using the same time whether they're equal or not.
     * A difference in length will leak
     *
     * @param string $known_string
     * @param string $user_string
     * @return boolean Returns true when the two strings are equal, false otherwise.
     */
    function hash_equals($known_string, $user_string)
    {
        $result = 0;

        if (!is_string($known_string)) {
            trigger_error("hash_equals(): Expected known_string to be a string", E_USER_WARNING);
            return false;
        }

        if (!is_string($user_string)) {
            trigger_error("hash_equals(): Expected user_string to be a string", E_USER_WARNING);
            return false;
        }

        if (strlen($known_string) != strlen($user_string)) {
            return false;
        }

        for ($i = 0; $i < strlen($known_string); $i++) {
            $result |= (ord($known_string[$i]) ^ ord($user_string[$i]));
        }

        return 0 === $result;
    }
}

1
私はFishpigでこれを行う必要があることを知っています。そのため、インストール済みの場合、これは問題になります。
mpchadwick

1
私は混乱していたし、それはあなたがのfunctions.php、ないFishpig上書きするように求められMWIです:注意mwi-plugin.com/documentation/installation
mpchadwick

18

ではPATCH_SUPEE-8788_EE_1.14.2.0_v1-2016-10-10-02-27-03.shtest_oauth.phpMagentoルートディレクトリにファイルが作成されます。URL https://thedomain.tld/test_oauth.phpを呼び出している人に完全な例外スタックトレースを公開する可能性があるため、これを削除する必要があります(少なくとも本番環境にデプロイしないでください)


いいキャッチ、マティアス!17個のAPPSECパッチを展開し、同時に別のベクターを開くのはやや悪い形です。まだこれをMagentoに報告しましたか?
ブライアン 'BJ'ホフパウアJr.

他の人がこの時点で持っていると確信しているので、私はMagento Supportでこれに関するチケットをオープンしました。パッチのv2バージョンについてはまだ返信していませんが、問題を認識している必要があります。
準オブジェクト

1
v2があり、まもなく公開される予定です。はい、ここに投稿したときに報告しました。
マティアスツァイス

1
それが今で固定されているように見える
ERFAN

18

これは1.7 MAGENTOバージョンに適用されます


1.7.0.2バージョン2のSUPEE 8788 を実行している場合、行372で変更を適用しようとすると失敗しますCurl.php

patching file downloader/lib/Mage/HTTP/Client/Curl.php
Hunk #1 FAILED at 372.
1 out of 1 hunk FAILED -- saving rejects to file downloader/lib/Mage/HTTP/Client

指示では、SUPEE-1533元に戻しSUPEE-3941インストールする必要がある書かれています

問題: SUPEE-3941は、Magento CE 1.8-1.9でのみ使用可能です。1.7に適用してみると、適用されます。おもうパッチ開発者 Magentoは、1.8未満のmagentoを実行しているユーザー向けにSUPEE-8788のバージョン3をリリースするか、1.8未満のバージョン用に設計された追加のSUPEE-3941パッチを作成する必要があります。

SUPEE-8788のバージョン1の1.7.0.2 ではエラーが発生しませんCurl.phpでした(多くのインストールでテストしました)

ヒント:最後に.swfエラーが発生した場合は、必ずパッチを圧縮し、サーバーにアップロードして解凍してください。SWFエラーはなくなります。

更新:

Magentoは、基本的にSUPEE-8788を適用する際のエラーを回避するために、Magento 1.7.0.2バージョンにSUPEE-3941パッチをインストールしても問題ないと述べました。


私たちはあきらめてきた
datasn.io

@ kavoir.com 1.7.0.2にインストールするときにも同じCURL.PHPエラーが発生します??
アイコン

1
ここで同じ問題が1.7.0.2に8788 V2をインストールしますが、興味深いことに、SUPEE-3941が利用できない新しい1.9.2.1バージョンのサイトでも同じcurl.phpエラーが発生します。1533を元に戻すことはどちらかという問題は解決しない
ジョン・ホーランド

@JonHolland私はMagentoのチームに書いた...私は、彼らが応答を願っています
アイコン

2
magentoコミュニティリーダーから返信がありました。基本的に、1.7.0.2バージョンに3941パッチをインストールするのは大丈夫です。–
Icon

15

オリジナルのDashboardController.php(1.7.0.2-パッチなし、magentoから新規)

  if ($params = unserialize(base64_decode(urldecode($gaData)))) {

1533 Patched DashboardController.phpには次の変更が含まれています

 if ($newHash == $gaHash) {
            $params = json_decode(base64_decode(urldecode($gaData)), true);
            if ($params) {

8788パッチにより、DashboardController.phpで次の変更が行われます。

 if (hash_equals($newHash, $gaHash)) {
            if ($params = unserialize(base64_decode(urldecode($gaData)))) {

8788の変更は1533と比較して変更されていることがわかりますが、8788のインストール後に8788の変更を1533に手動で置き換えることにより、mpchadwickが示唆するようにファイルを変更するのが理想かどうかわかりません。基本的に8788の変更を削除します。

助言がありますか?


2
IMO望ましい最終結果は、2つの組み合わせです。json_decodeである必要がありますが、==ではなくhash_equalsを使用する必要があります。これにより、タイミング攻撃(これを悪用するのは非常に困難です)が防止されます。
ピーターオキャラハン

@Peterに同意します。Gitを使用する場合、SUPEE-1533のコミットを元に戻し、新しいパッチを適用してコミットし、元に戻すコミットを元に戻します。競合はDashboardController.php自動的に解決されるはずです。
ファビアンシュメングラー

1
8788のインストール後に置き換える必要があるDashboardController.phpのコードを教えてください。上記のように、編集する内容が正確にわかりません。1533と8788のパッチが適用された行は異なって見えます。手動で修正したバージョンがどのように見えるかを教えてください。
アイコン

これは、1533更新で手動で変更した後の8788コードの外観です。if(hash_equals($ newHash、$ gaHash)){if($ params = json_decode(base64_decode(urldecode($ gaData))))){
アイコン

1
コミットを2回戻すことに注意してください。追加のコミットを作成せずに、SUPEE-1533 を使用git revert -n 123456abgit cherry-pick -n 123456abて一時的に元に戻すことができます。
マティアスツァイス

14

この投稿に主に意見に基づいているか、明確な回答がないとフラグを立てようとする半分の誘惑;)

いくつかのコントローラにフォームキーが追加されました。番号は、magentoのバージョンによって異なります。

トラブルが発生した場合

  • ウィッシュリストからアイテムを削除する
  • ストアビューから顧客の住所を削除する
  • バスケットの見積アイテムを更新する

テーマ.phtmlファイルを確認POSTし、フォームキーパラメーターを確認して、次のようなコントローラーアクションでチェックに合格するようにする必要があります。

class Mage_Checkout_CartController extends Mage_Core_Controller_Front_Action

     public function updatePostAction()
     {
+        if (!$this->_validateFormKey()) {
+            $this->_redirect('*/*/');
+            return;
+        }
+

これらの問題は、以前のパッチで多くの人をつまずかせました。オーバーライドされたテンプレートを使用したカスタムフロントエンドテーマは、パッチを適用するときに簡単に見落とされます。

フォームのキーは、多くの場合に追加された.phtml余分なとしてフォームを含むテンプレートinputのような

<input name="form_key" type="hidden" value="<?php echo $this->getFormKey() ?>" />

これが影響するフォームの完全なリストはありますか?だから、私はそれらをすべてテストし、すべてを一度に修正することができます。このようなばかげた機能不全が顧客を困らせたり、コンバージョン率を低下させたりしないようにしてください。
datasn.io

SUPEE 8788が1.7に完全にインストールされ、(app / design / frontend / base / default / template .....)で変更を行う場合。しかし、ウェブサイトのフロントエンドのウィッシュリストを変更しても、削除ボタンの追加はすべて完璧に機能します。テーマファイルに手動でパッチを適用する必要はありますか?または、長いパッチがフロントエンドで何も壊さないので、そのままにしておくことができますか?
アイコン

11

1.9.2.4。でswfで同じ問題に遭遇しました。

Foxの修正-以下の手順に従ってください。

ステップ1.このリンクにセキュリティパッチ8788 SSHファイルをダウンロードします。- https ://magento.com/tech-resources/downloads/magento/

ステップ2.セキュリティパッチ8788 SSHファイルをダウンロードした後、1つのフォルダーに入れて同じフォルダーのZipファイルを作成してください。

ステップ3. Zipフォルダーをルートmagentoフォルダーにアップロードし、SSH Puttyで解凍します。

ステップ4.パッチを実行します。-$ bash PATCH_SUPEE-8788_CE_1.9.2.4_v1-2016-10-11-07-03-46.sh

*注意:パッチファイルにはテキスト形式のバイナリファイル全体が含まれているため、zipファイルなしでセキュリティパッチ8788 SSHファイルをアップロードすると、同じファイルが破損します。*


10

SUPEE-8788を適用した後、Unirgy_RapidFlow 2.0.0.18を使用して「インポート」プロファイルをロードできなくなり、500エラー(ApacheまたはHTTPDログには何も表示されません)を取得しました。

私はまだデバッグとUnirgyで解決するための作業中ですが、アップローダーブロックが問題を引き起こしているようです(Unirgy_RapidFlow_Block_Adminhtml_Profile_Edit_Tab_Upload)。

パッチMage_Adminhtml_Block_Catalog_Product_Helper_Form_Gallery_Contentは、親であるにいくつかの変更を導入しました。

uRapidFlowに加えて、ファイルのアップロードを許可する他のサードパーティモジュールは、SUPEE-8788の結果として破損する可能性があります。


あなたはすでにこれに対する解決策を見つけましたか?Unirgy_RapidFlow_Block_Adminhtml_Profile_Edit_Tab_Upload
lloiacono

これでいい。Unirgyも2.0.0.23で修正したようです。secure.unirgy.com/release-notes.php?m=1#RapidFlow私はクライアントと協力して追加のアップグレードを購入していますが、検証できませんでした。
mpchadwick

docrootでこれを実行して、修正が必要な他のファイルを見つけます。grep -r 'getUploader()-> getConfig()' ./
lloiacono

8

パッチスクリプトを実行すると、次のメッセージが表示されました。

can't find file to patch at input line 4753
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git downloader/lib/Mage/HTTP/Client/Curl.php downloader/lib/Mage/HTTP/Client/Curl.php
|index 6d0607e..5757be3 100644
|--- downloader/lib/Mage/HTTP/Client/Curl.php
|+++ downloader/lib/Mage/HTTP/Client/Curl.php

これは、https://www.magereport.comの推奨事項に従って、「downloader」フォルダーの名前を変更したためだと思います

一時的にフォルダーの名前を「ダウンローダー」に変更し、パッチを正しく適用してから、シークレット名を付けて名前を変更しました。


8

1.9.0.0のパッチも、SUPEE-3941のために失敗します(おそらく1.9.0.1が影響を受けるまで1.8.0.0)。3941パッチはdownloader / lib / Mage / HTTP / Client / Curl.phpにパッチを適用し、8788は失敗します。

checking file downloader/lib/Mage/HTTP/Client/Curl.php
Hunk #1 FAILED at 378.
1 out of 1 hunk FAILED
checking file js/lib/uploader/flow.min.js

以下の1.9.0.1の回避策。変更は徹底的すぎるため、8788パッチ自体を調整する必要があるかもしれません。

編集:パッチを編集し、Curl.phpを検索して置き換えます

diff --git downloader/lib/Mage/HTTP/Client/Curl.php downloader/lib/Mage/HTTP/Client/Curl.php
index c55f88d..31f9f77 100644
--- downloader/lib/Mage/HTTP/Client/Curl.php
+++ downloader/lib/Mage/HTTP/Client/Curl.php
@@ -378,8 +378,8 @@ implements Mage_HTTP_IClient
         }

         $this->curlOption(CURLOPT_URL, $uri);
-        $this->curlOption(CURLOPT_SSL_VERIFYPEER, FALSE);
-        $this->curlOption(CURLOPT_SSL_VERIFYHOST, 2);
+        $this->curlOption(CURLOPT_SSL_VERIFYPEER, true);
+        $this->curlOption(CURLOPT_SSL_VERIFYHOST, 'TLSv1');

         // force method to POST if secured
         if ($isAuthorizationRequired) {
diff --git js/lib/uploader/flow.min.js js/lib/uploader/flow.min.js 

diff --git downloader/lib/Mage/HTTP/Client/Curl.php downloader/lib/Mage/HTTP/Client/Curl.php
index c55f88d..31f9f77 100644
--- downloader/lib/Mage/HTTP/Client/Curl.php
+++ downloader/lib/Mage/HTTP/Client/Curl.php
@@ -378,8 +378,8 @@ implements Mage_HTTP_IClient
         $uriModified = $this->getSecureRequest($uri, $isAuthorizationRequired);
         $this->_ch = curl_init();
         $this->curlOption(CURLOPT_URL, $uriModified);
-        $this->curlOption(CURLOPT_SSL_VERIFYPEER, false);
-        $this->curlOption(CURLOPT_SSL_VERIFYHOST, 2);
+        $this->curlOption(CURLOPT_SSL_VERIFYPEER, true);
+        $this->curlOption(CURLOPT_SSL_VERIFYHOST, 'TLSv1');
         $this->getCurlMethodSettings($method, $params, $isAuthorizationRequired);

         if(count($this->_headers)) {
diff --git js/lib/uploader/flow.min.js js/lib/uploader/flow.min.js

私は、以前のすべてのパッチをインストールした後、すべてのMagentoのバージョンのために働くためにパッチファイルをカスタマイズした:magentohosting.pro/files/MageHost.pro_fixed_SUPEE-8788_v2.zip
イェルーンバーミューレン- MageHost

8

ここに私が得ているものがあります

Hunk #1 FAILED at 373.
1 out of 1 hunk FAILED -- saving rejects to file downloader/lib/Mage/HTTP/Client/Curl.php.rej
patching file js/lib/uploader/flow.min.js
patching file js/lib/uploader/fusty-flow-factory.js
patching file js/lib/uploader/fusty-flow.js
patching file js/mage/adminhtml/product.js
patching file js/mage/adminhtml/uploader/instance.js
patching file skin/adminhtml/default/default/boxes.css
patching file skin/adminhtml/default/default/media/flex.swf
patching file skin/adminhtml/default/default/media/uploader.swf
patching file skin/adminhtml/default/default/media/uploaderSingle.swf
patching file skin/adminhtml/default/default/xmlconnect/boxes.css

インストール時にまったく同じエラーを取得します。あなたが何かを見つけたかどうかを知りたいです。
TunaMaxx

他の誰かがこれを理解するためにいや、まだ待っている
ハイム

2
magento.stackexchange.com/a/73957/9276を参照してください。Curl.phpファイルにこの修正がある場合は、その変更を元に戻し(行をCURLOPT_SSL_CIPHER_LIST / 'TLSv1'に戻します)、パッチを適用し、変更をやり直します。
ジョー

@Joeに感謝します。同じ情報を投稿するためにここに戻ってきました。あなたはそれに私を打ち負かした!それは私が眠りにつくために得るものです。:)
TunaMaxx

同じ問題があった場合、これで解決しました。ありがとう!
-dafyddPrys

8

Magentoは、SUPEE 1533の互換性を修正するために、SUPEE 8788の更新バージョンをリリースするようです。今すぐ手動で修正を適用することをお勧めしますか。手動で変更すると、将来のパッチ更新が危険にさらされる可能性があります。あなたの考えを聞きたいです。

Magento Community Managerによって確認されています。 10月13日午後3時(東部標準時)に、1.9未満のバージョンのすべてのパッチがダウンロードリストから削除されます https://www.magentocommerce.com/download?_ga=1.236497153.1889606568.1445610645 投稿を参照:https : //community.magento.com/t5 / Security-Patches / SUPEE-8788-AND-SUPEE-1533-Incompatible-Hunk-error / mp / 50514 / highlight / false#M1805


1
場合は、更新パッチは、当社のマニュアルの修正よりも正確に同じ結果を持っており、私はそれはケースだ願って、私は問題が表示されません。更新されたパッチは不要であり、将来のパッチに違いはありません。
ファビアンシュメングラー

1
@fschmenglerは、SUPEE-7405 IMOのPHP 5.5の非互換性にかなり似ています。パッチには手動修正が反映されます。
デジタルピアニズムのラファエル

1
@fschmengler私の知る限り、magentoは修正を加えたまったく同じパッチを再びリリースします。私は古いパッチを削除(自己修正)と(おそらく次の日にリリースする新をインストールするために最善をgues明日、我々は更新が必要助けてくれてありがとう。。!
アイコン

私はこの貢献の価値を疑ってはいませんが、Q&Aスタイルに固執しているため、この回答は私にとっての回答のようには見えません。コミュニティWikiの回答)。
7ochem

8

私は、他の投稿には見られない以下の新しい問題の報告を受け取っています。

  • 場合によっては、新しいリリースの例外-addCrumbs()メソッド呼び出し(getStoreConfig(web / default / show_cms_breadcrumbs)が未定義の場合)。パッチに影響を与えるべきではなく、1.9.3 / 1.14.3リリースのみ

パッチが適用された場合、1.9.1.0および場合によっては以前のバージョンの/lib/Unserialize/Reader/ArrValue.phpの「サポートされていないデータ型N」というメッセージの「例外」。パッチバージョン2で解決。

現在、これらの問題に対する簡単な回避策は知られていません。新しいパッチバージョンでそれらを解決するために取り組んでいます。


サポートされていないデータタイプNエラーの考えられる修正gist.github.com/balloz/ceaf5feb5ac66caaa82342441d32aa88
Digital PianismのRaphael

1.6および1.7バージョンにSUPEE 8788をインストールするときにCurl.phpエラーを克服する方法はありますか?
アイコン

8

ダウンロード可能な製品のサンプルとリンクに同じファイルを同時にアップロードすると、アップローダーが壊れます。これは、両方の領域で同じファイルを使用する場合にのみ発生することに注意してください。(パッチの前は正しく動作していました。)

再現するには、ダウンロード可能な製品を編集し、[ ダウンロード可能な情報 ]タブをクリックします。

  1. アコーディオンのサンプル行を開き、サンプルファイルを参照します。
  2. アコーディオンの[ リンク]行で、ダウンロードリンクを参照します
  3. [ リンク]セクション内の[ ファイルのアップロード]をクリックします

アップローダーは、ダウンロード可能なリンクファイルの代わりにサンプルファイルをアップロードし、ダウンロード可能なリンクセクションで参照したファイルが消えます。

これを、1.7.0.2 CEパッチを適用したバニラで再現できました。


これは、アップロードに使用される基礎となるJS ライブラリ
Laura

6

はい、ログイン時に他の問題が発生しましたが、常にこれが返されます:

これは、クラスEnterprise_Pci_Model_Observer行165で、

の代わりに:

if (!Mage::helper('core')->getEncryptor()->validateHashByVersion($password, $model->getPassword())) {

これにより修正されます:

if (!Mage::helper('core')->getEncryptor()->validateHashByVersion($password, $model->getPasswordHash())) {

私はコアを変更するのが嫌いなので(ローカルに移動することさえ)、Magentoがこれを修正するか、これを明確にすることが最善です。現時点では、これを拡張してgetPassword()の関数を作成するための新しい拡張機能を作成しています(すべての開発者が開発者モードを使用していることを確認したいため)。


2
パッチのV2を適用すると、EE1.12にパッチを適用する際に同じ問題が発生します。このファイルは1.12と1.14の間にいくつかの点ではなく、パッチの一部として変更されているように見えます
クリス・

1
Magentoでこれを提起し、問題に対処するためのパッチをさらに提供しました。変更は上記と同じです。
クリス

6

パッチファイルの編集

パッチファイルを編集する必要がある場合は、エディターで編集しないでください。これにより、パッチにカプセル化されたバイナリファイルが破損します。

便利なコマンドラインがある場合。linux / * unixは、sedユーティリティを使用して特定の行を削除してみます。

ヒントは@foomanにお願いします。彼の元の要点を見る

sed -ie '101,111d' PATCH_SUPEE-8788_CE_1.7.0.2_v1-2016-10-11-06-36-18.sh

これにより、行101〜111が包括的に削除されます。

フォーム送信の問題。

上記の問題について言及している場合は、次のこともできます。

<?= $this->getBlockHtml('formkey'); ?>

詳細については、この投稿を参照してくださいgetBlockHtml( 'formkey')とは何ですか?


4
<?=すべてのphp構成で有効になっていないことに注意してください
Digital PianismのRaphael

@RaphaelatDigitalPianismあなたは正しいです。けれども<?=、ほとんどのphp.iniの設定でデフォルトで有効になって一部のホストが無効にそれを選択しません。
セルゲイフィリッポフ

5

CE 1.6.2.0およびSUPEE-3941

セキュリティパッチSUPEE-8788(バージョン2)を適用するには(http://devdocs.magento.com/guides/m1x/other/ht_install-patches.html#apply-8788-new)最初にSUPEE-3941を適用することをお勧めします。

ただし、パッチダウンロードページには、CE 1.6.2.0用のSUPEE-3941パッチはありません。パッチはCE 1.8および1.9でのみ利用可能です。

このスレッドで述べたように、利用可能なSUPEE-3941パッチ(CE 1.8および1.9用)をCE 1.7に適用しても問題ないようです。

CE 1.6.2.0にSUPEE-3941(CE 1.8および1.9)を適用しても大丈夫ですか?CE 1.6.2.0に適用しようとすると、次のエラーが発生しました。

Checking if patch can be applied/reverted successfully...
-e ERROR: Patch can't be applied/reverted successfully.

checking file downloader/Maged/Model/Connect.php
Hunk #1 succeeded at 489 (offset 3 lines).
checking file downloader/lib/Mage/Connect/Backup.php
checking file downloader/lib/Mage/Connect/Command.php
Hunk #1 FAILED at 64.
Hunk #2 succeeded at 205 with fuzz 2 (offset -44 lines).
Hunk #3 succeeded at 382 (offset -53 lines).
1 out of 3 hunks FAILED
checking file downloader/lib/Mage/Connect/Command/Install.php
Hunk #1 FAILED at 90.
Hunk #2 succeeded at 333 with fuzz 1 (offset 17 lines).
Hunk #3 succeeded at 363 (offset 17 lines).
1 out of 3 hunks FAILED
checking file downloader/lib/Mage/Connect/Packager.php
Hunk #4 FAILED at 268.
Hunk #5 FAILED at 290.
Hunk #6 succeeded at 369 with fuzz 2.
Hunk #7 FAILED at 377.
Hunk #9 FAILED at 428.
4 out of 10 hunks FAILED
checking file downloader/lib/Mage/Connect/Rest.php
Hunk #1 succeeded at 71 with fuzz 2 (offset -11 lines).
checking file downloader/lib/Mage/Connect/Singleconfig.php
Hunk #1 succeeded at 100 (offset -36 lines).
checking file downloader/lib/Mage/Connect/Validator.php
Hunk #1 succeeded at 418 (offset -41 lines).
Hunk #2 succeeded at 431 (offset -41 lines).
checking file downloader/lib/Mage/HTTP/Client/Curl.php
checking file downloader/template/settings.phtml

5

少し遅れましたが、Magento 1.7.0.2および1.7.0.1のパッチファイルに少なくとも適用されるSUPEE-8788 V2パッチで問題が見つかりました。おそらくこれは、パッチバージョンが存在するすべての以前のバージョンにも適用されます。1.8以降のMagentoバージョンは、パッチによってテンプレートが変更されないため、影響を受けません。

詳細に

パッチにはファイルのフォームキーがありません app/design/frontend/base/default/template/persistent/checkout/onepage/login.phtml

これがないと、1ページのチェックアウトでログインが機能しません(エラーなしでは機能しません)。

修正する

次のパッチのようにフォームキーを挿入する必要があります。

diff --git a/app/design/frontend/base/default/template/persistent/checkout/onepage/login.phtml b/app/design/frontend/base/default/template/persistent/checkout/onepage/login.phtml
index 9d15a577b..18483a3c5 100644
--- a/app/design/frontend/base/default/template/persistent/checkout/onepage/login.phtml
+++ b/app/design/frontend/base/default/template/persistent/checkout/onepage/login.phtml
@@ -71,6 +71,7 @@
         <h3><?php echo $this->__('Login') ?></h3>
         <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
         <form id="login-form" action="<?php echo $this->getPostAction() ?>" method="post">
+        <?php echo $this->getBlockHtml('formkey'); ?>
         <fieldset>
             <h4><?php echo $this->__('Already registered?') ?></h4>
             <p><?php echo $this->__('Please log in below:') ?></p>

4

1533パッチが適用されたサイトの場合は、PATCH_SUPEE-8788 *****。shの次の行を置き換えるだけです。

diff --git app/code/core/Mage/Adminhtml/controllers/DashboardController.php app/code/core/Mage/Adminhtml/controllers/DashboardController.php
index 09ffc4c..367bf8e 100644
--- app/code/core/Mage/Adminhtml/controllers/DashboardController.php
+++ app/code/core/Mage/Adminhtml/controllers/DashboardController.php
@@ -91,7 +91,7 @@ class Mage_Adminhtml_DashboardController extends Mage_Adminhtml_Controller_Actio
         $gaHash = $this->getRequest()->getParam('h');
         if ($gaData && $gaHash) {
             $newHash = Mage::helper('adminhtml/dashboard_data')->getChartDataHash($gaData);
-            if ($newHash == $gaHash) {
+            if (hash_equals($newHash, $gaHash)) {
                 if ($params = unserialize(base64_decode(urldecode($gaData)))) {
                     $response = $httpClient->setUri(Mage_Adminhtml_Block_Dashboard_Graph::API_URL)
                             ->setParameterGet($params) 

沿って:

diff --git a/app/code/core/Mage/Adminhtml/controllers/DashboardController.php b/app/code/core/Mage/Adminhtml/controllers/DashboardController.php
index ab2d654..367bf8e 100644
--- a/app/code/core/Mage/Adminhtml/controllers/DashboardController.php
+++ b/app/code/core/Mage/Adminhtml/controllers/DashboardController.php
@@ -91,9 +91,8 @@ class Mage_Adminhtml_DashboardController extends Mage_Adminhtml_Controller_Actio
         $gaHash = $this->getRequest()->getParam('h');
         if ($gaData && $gaHash) {
             $newHash = Mage::helper('adminhtml/dashboard_data')->getChartDataHash($gaData);
-            if ($newHash == $gaHash) {
-                $params = json_decode(base64_decode(urldecode($gaData)), true);
-                if ($params) {
+            if (hash_equals($newHash, $gaHash)) {
+                if ($params = unserialize(base64_decode(urldecode($gaData)))) {
                     $response = $httpClient->setUri(Mage_Adminhtml_Block_Dashboard_Graph::API_URL)
                             ->setParameterGet($params)
                             ->setConfig(array('timeout' => 5))
diff --git a/app/code/core/Mage/Adminhtml/Block/Dashboard/Graph.php b/app/code/core/Mage/Adminhtml/Block/Dashboard/Graph.php
index da1b14a..b6d72c0 100644
--- a/app/code/core/Mage/Adminhtml/Block/Dashboard/Graph.php
+++ b/app/code/core/Mage/Adminhtml/Block/Dashboard/Graph.php
@@ -444,7 +444,7 @@ class Mage_Adminhtml_Block_Dashboard_Graph extends Mage_Adminhtml_Block_Dashboar
             }
             return self::API_URL . '?' . implode('&', $p);
         } else {
-            $gaData = urlencode(base64_encode(json_encode($params)));
+            $gaData = urlencode(base64_encode(serialize($params)));
             $gaHash = Mage::helper('adminhtml/dashboard_data')->getChartDataHash($gaData);
             $params = array('ga' => $gaData, 'h' => $gaHash);
             return $this->getUrl('*/*/tunnel', array('_query' => $params));

基本的には、1533を元に戻して8788を残しました。


8788はDashboardController.phpの変更を上書きし、元の1533の変更は削除されることを理解しています。
アイコン

2
はい、serialize()をjson_encode()に置き換える1533の目的は、攻撃パス($ newHash == $ gaHash)の可能性を減らすことでした。8788が同じ目的でhash_equals()を追加している間
William Zhao

素晴らしい、私は少し他の方法を考えていた、私のテストサイトでクリーンなDashboardController.php(ストックmagentoファイル)をアップロードし、SUPEE 8788をインストールしました。しかし、私はこのフォーラムを読んで8988変更されたファイル。私の方法についてどう思いますか?
アイコン

アイコン、上記の差分をご覧ください。SUPEE1533を既にお持ちの場合は、 'app / code / core / Mage / Adminhtml / Block / Dashboard / Graph.php'のSUPEE 1533によって更新された行を元に戻す必要があります。パッチを適用しました。そうでない場合、Graph.phpはjson形式のパラメーターを起動し、unserialize()でデコードできなくなります
William Zhao

4

パッチを適用すると、Authorize.netのキャプチャが壊れます。承認は正常に機能しますが、請求書への支払いをキャプチャするときに「ゲートウェイエラー:クレジットカード番号が必要です」と表示されます。支払いログファイルには、x_typeparamが値を渡すauth_captureようになりましたが、パッチの前は値を渡してprior_auth_captureいましたが、うまく機能していました。この問題が発生している人はいますか?

更新:この問題の修正-Authorize.netがキャプチャしない


4

SUPEE-8788でSSHを使用してMagento 1.9.2.4のコピーをパッチしましたSUPEE-8788でftpを使用してMagento 1.9.2.4の別のコピーをパッチしましたmagento 1.9.3.1の新しいコピーを使用した

SUPEE-8788を使用したこれらすべてのmagento Webサイトでは、同じ問題が発生します(パッチのバグである可能性があります)

ダウンロード可能な製品を使用し、「X」をクリックして新しい行(1つ以上)を追加しようとすると、「ダウンロード可能な情報」->「サンプル」に移動し、行を削除できなくなりますここに画像の説明を入力してください

私はMagentoの専​​門家ではないので、解決策を見つけようとしています。あなたが誰かが何らかの解決策を持っているなら、私が投稿することを見つけたら、それは私にとって非常に非常に便利です

更新:Chromeインスペクターを使用してこのエラーを見ました:ここに画像の説明を入力してください

******* ソリューションを 見つけました*******

私は2日間過ごしましたが、これが他の人の助けになることを願っています。これはSUPEE-8788のバグです

内部でsamples.phtmlを開きます app/design/adminhtml/default/default/template/downloadable/product/edit/downloadable

関数を見つける

remove : function(event){
    var element = $(Event.findElement(event, 'tr'));
    alertAlreadyDisplayed = false;
    if(element){
        element.down('input[type="hidden"].__delete__').value = '1';
        element.down('div.flex').remove();
        element.addClassName('no-display');
        element.addClassName('ignore-validate');
        element.hide();
    }
},

そしてそれを

remove : function(event){
    var element = $(Event.findElement(event, 'tr'));
    alertAlreadyDisplayed = false;
    if(element){
        element.down('input[type="hidden"].__delete__').value = '1';
        Element.select(element, 'div.flex').each(function(elm){
            elm.remove();
        });
        element.addClassName('no-display');
        element.addClassName('ignore-validate');
        element.hide();
    }
},

これはバグを解決します


3

1.9.2.1を実行しているサイトのテストコピーにPATCH_SUPEE-8788_CE_1.9.2.1_v1-2016-10-11-07-00-43を適用しましたが、チェックアウトに失敗しました。パッチを元に戻すと、チェックアウトは再び正常に機能します。

注文を送信すると、チェックアウトが成功する代わりにカートに戻ります。再試行する前に、.1バージョンを待っていると思います。


注文の保存中に例外がスローされるようですが、ログを確認しましたか?
-simonthesorcerer

そのように見えます... PHP致命的エラー:クラス 'Mage_Core_Helper_UnserializeArray'が547行目の... / public_html / app / Mage.phpに見つかりません
Adam Lavery

@AdamLavery Var / cacheに移動し、キャッシュフォルダーを削除します。パッチを元に戻すと、このエラーが発生します。そのキャッシュのこと。
アイコン

新しいパッチはすぐにリリースされるはずです。これは、エラーが発生しないことを期待するための巨大なパッチ更新です...うん...指が交差しました。
アイコン

1
これはおそらく欠落しているためです。app/code/core/Mage/Core/Helper/UnserializeArray.phpこれはSUPEE-6788で追加されたもので、インストールしていない可能性があります。SUPEE-8788には、SUPEE-6788に対する文書化されていない依存関係があるようです。
タイラーV。16年

3

Magentoからの早い時間帯の新しい電子メールでは、SUPEE-1533およびSUPEE-3941の互換性の問題に対処するための新しいパッチバージョンを作成する予定であると述べています。だから、馬を少し抱きしめるだけかもしれません。

エンタープライズエディション1.14.3、コミュニティエディション1.9.3、およびSUPEE-8788エンタープライズエディション1.14.3およびコミュニティエディション1.9.3は、120を超える品質の改善と、PHP 5.6のサポートを提供します。また、次のような重大なセキュリティ問題も解決します。

... SUPEE-8788パッチは、以前のMagentoバージョンのこれらのセキュリティ問題に対処します。残念ながら、ストアで以前にSUPEE-1533またはSUPEE-3941セキュリティパッチが適用されている場合、Community Edition 1.8以前のリリースおよびEnterprise Edition 1.13以前のリリースのSUPEE-8788パッチは失敗することがわかりました。この問題の修正に取り組んでおり、今後1〜3日以内に新しいパッチを提供する予定です。それまでは、これらのバージョンのSUPEE-8788パッチをディストリビューションから削除しています...

ただし、アクティブなMagentoバージョンは、動作していると言われているCE 1.9.3と、V1.8以前の新しいバージョンが間もなくリリースされることを懸念しています。私は彼らに連絡しましたので、彼らが言うことを待って見てください。


実際には「答え」ではなく、役立つ情報があればいいのですが。
ジョンオランダ

こんにちはJon、@ fschmenglerの元の質問を編集して、下部にUPDATEとして追加することもできます。彼はそれでいいと思うし、その編集を承認すると思います。
7ochem

良いアイデアですが、誰かがすでに何かを追加しています:)
ジョンホランド

3

私はパッチ適用の大ファンではありません。個人的に、ディレクトリからすべてのMagentoファイルを削除し、新しいバージョンを(シェルスクリプトを使用して)アップロードします。モジュールやテーマなど、長年にわたってインストールされたすべてのファイルはまだそこにあります。データベースについては、新しくインストールしたバージョンを比較します。1つの方法は、データベースに列/テーブルを作成または削除することです。もう1つの方法は、/ app / etc / local.xmlファイル名を変更するだけでMagentoを再度インストールすることです。私は最初のものを好む。

データベース構造をバージョン1.9.3.0に変更しないと、いくつかのエラーが発生するか、管理領域をロードできません。MagentoディレクトリとデータベースのMagento CE 1.9.2.4と1.9.3.0の比較に興味がある人は、ここからファイルをダウンロードしてください。

Magentoの比較:バージョン1.9.2.4-1.9.3.0

2つのhtmlファイルがあり、非常に優れた視覚的な結果が得られます。

今日、パッチを適用するのではなく、自分の方法を使用して4つのストアを更新しました。すべてが問題なく実行されています。


1.9.2.2、1.9.2.3、および1.9.2.4の場合と同様に、最新バージョンを使用していて、パッチの新しいリリースがある場合は便利ですが、このパッチには新しいリリース1.9.2.5はありませんでした。 。バージョン1.9.3.0には、セキュリティに関連しない追加の変更が多数含まれています。
ファビアンシュメングラー

私の方法では、セキュリティ更新プログラムと新機能の2つを手に入れました。唯一の問題は、リリース間でファイルシステムとデータベースに何が起こっているかを理解する必要があることです。あなたが何をしているのかを知っているとき、それは大したことではありません。そして、あなたはより良いコントロールを持っています。1.7バージョンからこのメソッドを実行しています。
-ADDISON74

3

Magento CEのほとんどのインストールで運がありません(合計6)。異なるバージョン:1.9.1、1.9.0.1、1.8.1。

正しい対応する8788パッチをダウンロードしました。該当する場合、1533を元に戻すようにしました。

疑わしい次の重要な重要な出力が表示されます。

Checking if patch can be applied/reverted successfully...
ERROR: Patch can't be applied/reverted successfully.

...

checking file downloader/lib/Mage/HTTP/Client/Curl.php
Hunk #1 FAILED at 372.

...ファイルapp / code / core / Mage / Adminhtml / controllers / IndexController.php Hunk#1のチェックは373で成功しました(オフセット-19行)。...

can't find file to patch at input line 5810
|diff --git lib/Unserialize/Parser.php lib/Unserialize/Parser.php
|index 423902a..2c01684 100644
|--- lib/Unserialize/Parser.php
|+++ lib/Unserialize/Parser.ph

上記と同じ:lib / Unserialize / Reader / Arr.php lib / Unserialize / Reader / ArrValue.phpそして、これらの塊は無視されると言います。

注:Unserialized / Readerディレクトリには何もありません。完全に空です。注:Curl.phpはダウンローダーディレクトリにあります。名前は変更されません。終了しましたが、SWFファイルが削除されていません。apply.patches.listのリストにパッチが適用されていません

意味がありません。


わかりました。すべての古いパッチを順番に処理する必要があります。適用されていない古いパッチがいくつかありました。それらをプルダウンして回線に適用すると、物事はうまくパッチを適用し始めました。ただし、任意のパッチのファイルでハンクエラーが発生したときはいつでも、パッチにアクセスして、それが置き換えようとしているものを見つけ、magentoのインストールで手動で実行する必要がありました。次に、パッチからこれらの「diff」行を削除して再実行します。基本的に、ハンクエラーが発生した場合はいつでも、パッチに移動して、パッチから+/-が何をしようとしているかを確認し、それを自分で行います。
リッチイェシアン

3

今日、約10のWebサイトにパッチを適用しましたが、SUPEE-8788パッチが失敗したすべてのサイトにSUPEE-6788 MISSINGがありました

これにより、(例)次のエラーが発生しました。

can't find file to patch at input line 5810
|diff --git lib/Unserialize/Parser.php lib/Unserialize/Parser.php
|index 423902a..2c01684 100644
|--- lib/Unserialize/Parser.php
|+++ lib/Unserialize/Parser.php

SUPEE-6788をインストールした後、SUPEE-8788に正しくパッチが適用されました。


3

あなたがHunk #1 failedxxxエラーで取得している場合、これは私がやったことです

わかったHunk #1 failed at 373。エラー!! 行の後

ファイルダウンローダー/lib/Mage/HTTP/Client/Curl.phpを確認する

だから私はCurl.phpファイルをチェックし、以前にファイルを変更したことがわかりました(1行コメントされました)元のファイルを復元し、パッチを再度実行しました。その後、パッチは成功しました。;)。

それから私はチェックしました:

/app/etc/applied.patches.list すべてが良いようです

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.