PATCH_SUPEE-6788が1.7.0.2インストールに効果がないように見えるのはなぜですか?


21

注: この問題は、SUPEE-6788パッチを受け取ったMagentoのすべてのバージョンに当てはまるようです。私の答えでは、パッチを成功させるには両方 .htaccess.htaccess.sample復元する必要があることがわかります。


magentocommerce.com/downloadsが提供するシェルスクリプトを使用して、CE 1.7.0.2サイトにSUPEE-6788パッチを適用する作業を行っています。このサイトには、以前のセキュリティパッチがすべて適用されています。

スクリプトの名前はPATCH_SUPEE-6788_CE_1.7.0.2_v1-2015-10-27-12-00-16.shmd5sumですcfc0cf533fe36a5f573414f0feeb1590(このパッチは、圧縮されていない状態でリリースされたという点で異常でしたが、ファイルは破損または切り捨てられていないようです)。

このスクリプトを実行すると、含まれているパッチの少なくとも1つが失敗したかスキップされたが、パッチの多くの部分が成功したが、git変更が表示されていないことを示すコンソール出力が表示されます。このスクリプトは、同じコードベースを持つ2つの異なる環境でテストされています。1つはUbuntu GNOME 14.04 LTSワークステーション、もう1つはnexcess.com共有サーバー(CentOSを実行)です。

興味深いのは、2つの環境での出力がわずかに異なることです。「checking」と「patching」で始まる行に注意してください。

Ubuntu環境からの出力のサンプル:

bash PATCH_SUPEE-6788_CE_1.7.0.2_v1-2015-10-27-12-00-16.sh                                              [19:27:10]
Checking if patch can be applied/reverted successfully...
ERROR: Patch can't be applied/reverted successfully.

checking file .htaccess
Hunk #1 FAILED at 207.
1 out of 1 hunk FAILED
can't find file to patch at input line 38
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git .htaccess.sample .htaccess.sample
|index 546f18e..3e79c77 100644
|--- .htaccess.sample
|+++ .htaccess.sample
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
checking file app/code/core/Mage/Admin/Model/Block.php
checking file app/code/core/Mage/Admin/Model/Resource/Block.php
checking file app/code/core/Mage/Admin/Model/Resource/Block/Collection.php
checking file app/code/core/Mage/Admin/Model/Resource/Variable.php
checking file app/code/core/Mage/Admin/Model/Resource/Variable/Collection.php
checking file app/code/core/Mage/Admin/Model/Variable.php
...

CentOS環境のサンプル:

bash PATCH_SUPEE-6788_CE_1.7.0.2_v1-2015-10-27-12-00-16.sh 
Checking if patch can be applied/reverted successfully...
ERROR: Patch can't be applied/reverted successfully.

patching file .htaccess
Hunk #1 FAILED at 207.
1 out of 1 hunk FAILED -- saving rejects to file .htaccess.rej
can't find file to patch at input line 38
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git .htaccess.sample .htaccess.sample
|index 546f18e..3e79c77 100644
|--- .htaccess.sample
|+++ .htaccess.sample
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
patching file app/code/core/Mage/Admin/Model/Block.php
patching file app/code/core/Mage/Admin/Model/Resource/Block.php
patching file app/code/core/Mage/Admin/Model/Resource/Block/Collection.php
patching file app/code/core/Mage/Admin/Model/Resource/Variable.php
...

出力の上部でエラーを掘り下げ、パッチを手動で適用することもできますが、誰かが原因を理解したり、比較的簡単な修正ができることを望んでいました。


上記のすべてのソリューションを試しました。それでも、パッチ6788を正常に適用することはできません。誰でもこれを手伝ってくれますか?ありがとう。
マスク

症状は同じですか?そうでない場合、あなたはおそらくあなたの問題の詳細と新しい質問をする必要があります
STW

Magentoストックインストールのファイルを使用します。次に、.htaccess-Fileの後にファイルの末尾に正確に1つの空の改行があることを確認します#FileETag none。また、.htaccess.sampleファイルの最後には2つの空の改行が必要です。
pbaldauf

回答:


15

私の変更と.htaccess行方不明の変更.htaccess.sampleが原因であるようです。両方のファイルのストックコピーを復元した後(両方が必要でした)、パッチは正常に適用されたように見えます。

これを解決するには、(必要な)変更を失うことなく、次の手順を実行しました。

  1. バックアップを作成.htaccessし、.htaccess.sampleバージョン管理システムとのまたはファイルをコピーして-either

  2. 株式1.7.0.2バージョンにコピー.htaccessして.htaccess.sample、自分のコードベースへの私のカスタマイズを交換します.htaccess

  3. パッチを適用しました。出力は以前よりずっと短くなりました(2行)。

  4. .htaccess(後世のために)を含むすべての変更をコミットしました

  5. .htaccessパッチなしでの以前のバージョンをチェックアウトし、そのファイルにパッチを手動で適用しました。

ここにありますgit diff追加された行を示す、パッチの:

diff --git a/.htaccess b/.htaccess
index 60e1795..aca7f55 100644
--- a/.htaccess
+++ b/.htaccess
@@ -207,3 +207,28 @@
 ## http://developer.yahoo.com/performance/rules.html#etags

     #FileETag none
+
+###########################################
+## Deny access to cron.php
+    <Files cron.php>
+
+############################################
+## uncomment next lines to enable cron access with base HTTP authorization
+## http://httpd.apache.org/docs/2.2/howto/auth.html
+##
+## Warning: .htpasswd file should be placed somewhere not accessible from the web.
+## This is so that folks cannot download the password file.
+## For example, if your documents are served out of /usr/local/apache/htdocs
+## you might want to put the password file(s) in /usr/local/apache/.
+
+        #AuthName "Cron auth"
+        #AuthUserFile ../.htpasswd
+        #AuthType basic
+        #Require valid-user
+
+############################################
+
+        Order allow,deny
+        Deny from all
+
+    </Files>

注:同様の問題が発生しているが、これで解決しない場合は、以前のセキュリティパッチを見逃している可能性があります。チェックapp/etc/applied.patches.listおよび/または使用magereport.com/scan以前のすべてのセキュリティパッチが適用&ndashにされていることを確認するために、**、彼らが必要とされている**
STW

私のために働いた
-jruzafa

これは何を意味するのでしょうか?Warning: .htpasswd file should be placed somewhere not accessible from the web何か案が?
アダルシュカトリ

4

.htaccessおよびのストックバージョンをダウンロードしようとしましたが、ストックバージョンを.htaccess.sample使用した後でもパッチは適用されません。

この問題が発生して他の誰のためにそれを削除する方法について説明し、この記事を見てとる.htaccesshtaccess.sample:の後にそれらを手動で追加、パッチ自体から部品を http://www.atwix.com/magento/security-patch-supee-6788を-インストールの問題/

修正 -行で始まる163-195行を削除してパッチファイルを編集する

diff --git .htaccess .htaccess 

で終わる

+    </Files>

また、htaccess.sampleこれに関連する部分を削除する必要がある場合があります

diff --git .htaccess.sample .htaccess.sample

で終わる

+    </Files>

これが完了したら、パッチを再度適用してみてください。今回は正常に適用されるはずです。

次に、パッチ.htaccessおよび.htaccess.sample

###########################################
## Deny access to cron.php
    <Files cron.php>

############################################
## uncomment next lines to enable cron access with base HTTP authorization
## http://httpd.apache.org/docs/2.2/howto/auth.html
##
## Warning: .htpasswd file should be placed somewhere not accessible from the web.
## This is so that folks cannot download the password file.
## For example, if your documents are served out of /usr/local/apache/htdocs
## you might want to put the password file(s) in /usr/local/apache/.

        #AuthName "Cron auth"
        #AuthUserFile ../.htpasswd
        #AuthType basic
        #Require valid-user

############################################

        Order allow,deny
        Deny from all

    </Files>

これらの手順に従って、パッチを正常に適用できました。これが役立つことを願っています!


1
私は元の投稿を更新して修正を含めました。投稿した修正が見つかるまで何時間もこの問題に固執していたためにダウン投票された理由を説明できますか?
ジェームズコリンズ


0

間違ったパッチをダウンロードしたため、同じ問題が発生しました。Magento EE 1.13を使用していて、CEパッチをダウンロードしていました... EE 1.13で機能すると考えて、チュートリアルに従ってCE 1.8のパッチをダウンロードしました。ご使用のバージョンのMagentoのパッチを必ずダウンロードしてください。


-1
  1. .htaccessと.htaccess.sampleをバックアップします
  2. Magentoのバージョンに従って、元の.htaccessファイルと.htaccess.sampleファイルをアップロードします。
  3. パッチを実行します。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.