सुरक्षा पैच SUPEE-8788 - संभावित समस्याएं?


108

नवीनतम Magento 1 सुरक्षा पैच SUPEE-8788 में 17 APPSEC अपडेट हैं , इसलिए इसे जल्द से जल्द लागू करना बहुत महत्वपूर्ण है। दूसरी ओर, कई संभावित पिछड़े संगतता ब्रेक हैं, और पिछले वर्ष के पैच के इतिहास को देखते हुए मैं इसे लापरवाही से लागू नहीं करूंगा।

अच्छी बात यह है कि इस बार कोई फ्रंटएंड टेम्प्लेट शामिल नहीं हैं, इसलिए ऐसा लगता है कि हमें अपने सभी विषयों को पैच करने की आवश्यकता नहीं है। यह केवल Magento 1.8 या उच्चतर के लिए सच है।

फिर भी: क्या आपने पैच लगाने के बाद किसी अनुकूलता की समस्या या बग का सामना किया?


6
"इसमें कोई फ्रंटएंड टेम्प्लेट शामिल नहीं हैं" - पुराने Magento के संस्करणों के लिए सही नहीं है। उदाहरण के लिए 1.7.0.2 पैच 9 फ्रंटएंड / बेस / डिफॉल्ट टेम्प्लेट फ़ाइलों को बदलता है।
फोमन

magento.stackexchange.com/questions/140571/… यह एक धोखा देता है? शायद यहाँ सारी जानकारी को
समेटे

2
पैच के .swf अपडेट के साथ किसी को भी समस्या होने के लिए, मैंने बस पैच से 5951-9818 लाइनों को हटा दिया और मैन्युअल रूप से .swf फ़ाइलों को हटा दिया /skin/adminhtml/default/default/media- क्योंकि यह सभी पैच वैसे भी कर रहा था।
लियाम मैकआर्थर

यकीन नहीं क्यों, लेकिन 1.8.0.0 पर 8788 की स्थापना के बाद, 7405 रिपोर्टों को स्थापित नहीं किया गया। जबकि v1 और v1.1 पहले स्थापित किया गया था
मैगनएक्स

2
@ श्रीनिवास ने क्या आपने मीडिया फ़ोल्डर को इस पथ की त्वचा / व्यवस्थापक / डिफ़ॉल्ट / डिफ़ॉल्ट से हटा दिया है?
प्रिया पोन्नुसामी

जवाबों:


107

महत्वपूर्ण लेख

कृपया ध्यान दें कि 1.9.3 1.9.2.4 + SUPEE-8788 से अलग है। यहाँ दोनों के बीच अंतर है: https://gist.github.com/digitalpianism/14a15cd52baede0e5d600e8c653f33e9

14 अक्टूबर को अपडेट करें: पैच का v2 जारी किया गया है (नीचे देखें) 13 अक्टूबर तक, 1.5.x से 1.8.x के पैच को मैगेंटो वेबसाइट से नीचे ले जाया गया है क्योंकि पिछली पैच के साथ असंगति (नीचे देखें):

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 ने एक उपयोगी बैश स्क्रिप्ट विकसित की, जिसे आप यहां पा सकते हैं ऊपर की प्रक्रिया को स्वचालित करने के लिए: https://github.com/DemacMedia/magento-SUPEE8788-patcher

पैच का विवरण

पैच में खुदाई के बाद यहां दिलचस्प भाग हैं (1.9.2.4 से पैचिंग):

  • Mage_Adminhtml_Block_Media_Uploaderइसके साथ प्रतिस्थापित किया गया है Mage_Uploader_Block_Multipleइसलिए एक पूर्ण Mage_Uploaderमॉड्यूल है जो फ्लैश समर्थन को गिराता है । पुराना ब्लॉक अब हटा दिया गया है और नए ब्लॉक का विस्तार करता है।
  • फिर भी अपलोड करने वाले के बारे में, मॉड्यूल नई गैर फ़्लैश अपलोड करने वाले को संभालने के लिए पुनर्संशोधित किया गया है। यह टेम्प्लेट का उपयोग करने के बजाय अपलोड ब्लॉक के रूप में उपयोग करता है ।Mage_DownloadableMage_Uploader_Block_Single
  • इस परिवर्तन के बाद, वह SWF फ़ाइलें skin/adminhtml/default/default/media/flex.swf, skin/adminhtml/default/default/media/uploader.swfऔर skin/adminhtml/default/default/media/uploaderSingle.swfहटा दिया गया है।
  • एड्रेस डिलीट कंट्रोलर अब फॉर्म के माध्यम getDeleteUrlसे सीधे से कुंजी के साथ सुरक्षित हैMage_Customer_Block_Address_Book
  • इच्छा-सूची आइटम हटाने नियंत्रक अब प्रपत्र कुंजी के साथ सुरक्षित है के माध्यम से getRemoveUrlसेMage_Wishlist_Helper_Data
  • पेपैल एक्सप्रेस भुगतान विधि अब यह सुनिश्चित करती है कि उपयोग किया गया ग्राहक ईमेल मैगेंटो में मौजूद हो और नए उपयोगकर्ता का पंजीकरण कर रहा हो। (समझें: नया उद्धरण संसाधित होने से पहले नया उपयोगकर्ता बनाया गया है)
  • CURL / HTTP क्लाइंट का उपयोग करने के लिए भुगतान के तरीके अब CURLOPT_SSL_VERIFYHOST2 पर सेट हो गए हैं (पहले 0 था) और CURLOPT_SSL_VERIFYPEERध्वज अब cURL कॉल में जोड़ा गया है। वेरिफाइड पीयर फ्लैग को सक्षम करें वेरिफिकेशन ड्रॉपडाउन के माध्यम से भुगतान विधि कॉन्फ़िगरेशन के माध्यम से सक्षम / अक्षम किया जा सकता है।
  • Mage_Http_Client_Curlअब CURLOPT_SSL_VERIFYPEERसच हो गया है (पहले असत्य था) , खबरदार अगर आपके पास इसका उपयोग करने वाला कोई कस्टम मॉड्यूल है।
  • उत्पाद चित्रों के लिए अधिकतम आयाम अब कॉन्फ़िगर करने योग्य हैं। NB: यदि आप बहुत बड़ी छवियां अपलोड करते हैं तो यह एक अजीब त्रुटि संदेश दे सकता है: पैच अपलोड के बाद Magento 1.9.2.2 में फ़ाइल स्वरूप को अस्वीकृत कर दिया गया

ज्ञात SUPEE-8788 v2 मुद्दे

ज्ञात SUPEE-8788 v1 मुद्दे

ज्ञात 1.9.3.0 अंक

संपादित करें: जैसा कि सूची लंबी हो रही है और इस उत्तर में यह बहुत अधिक विषय है (जैसा कि SUPEE-8788 संबंधित नहीं है) आप इस पोस्ट को ज्ञात 1.9.3.0 मुद्दों की सूची के लिए संदर्भित कर सकते हैं: https: //magento.stackexchange। कॉम / एक / 140826/2380


1
व्यापक सूची के लिए धन्यवाद! एक प्रश्न: क्या आप सुनिश्चित हैं कि फुलटेक्स खोज मुद्दा SUPEE-8788 पैच पर लागू होता है? मुझे इस कार्यक्षमता से संबंधित कोई भी परिवर्तन नहीं मिल सकता है।
Aad Mathijssen

1
@MageDev कृपया सवाल में तीसरी टिप्पणी का संदर्भ लें;)
डिजिटल पियानोवाद पर राफेल

1
यदि उत्पाद अपलोडर पैच को सफलतापूर्वक लागू करने के बाद काम नहीं करता है और आप लोकप्रिय CreareSEO प्लगइन का उपयोग कर रहे हैं, तो इस फिक्स को github.com/adampmoss/CreareSEO/pull/78
joes13

1
मैंने देखा कि आपने "पेपैल एक्सप्रेस भुगतान विधि का उल्लेख किया है जो अब यह सुनिश्चित करता है कि इस्तेमाल किया गया ग्राहक ईमेल Magento में मौजूद है।" इसका मतलब यह है कि अतिथि पेपैल एक्सप्रेस के साथ चेकआउट नहीं कर सकते हैं? आपको पंजीकृत उपयोगकर्ता होना चाहिए? क्या मैं कुछ भूल रहा हूँ।
चिह्न

1
कुछ तृतीय-पक्ष एक्सटेंशन जो पुराने अपलोडर का उपयोग करते थे, पैच लगाने के बाद बस टूट गए हैं। उदाहरण के लिए "मैजिक 360" बैकएंड उत्पाद विवरण टैब में एक टैब जोड़ रहा है। पैच करने के बाद, आप अपने उत्पाद विवरण को देख / संपादित नहीं कर पाएंगे। मैंने इस मुद्दे को Magento कनेक्ट ( magentocommerce.com/magento-connect/… ) पर एक्सटेंशन डेवलपर को देखा है ।
डार्ककोवे 10

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 कोई प्रत्यक्ष डाउनलोड लिंक प्रदान नहीं करता है (मैं इस नीति से कभी भी नफरत करता हूं), आपको अपने कंप्यूटर पर पैच डाउनलोड करना होगा और इसे फ़ाइल-ट्रांसफर एप्लिकेशन (जैसे विंडोज पर WinSCP) के साथ अपलोड करना होगा। उदाहरण के लिए WinSCP पाठ-मोड (WinSCP हैंडल * .sh फ़ाइलों को डिफ़ॉल्ट रूप से पाठ के रूप में) में अपलोड करेगा।

तो इसके लिए वर्कअराउंड है, पैच-फाइल को जिप / टैर करें और सर्वर पर फिर से अनजिप / अनटार करें। एट वॉयला।


क्षमा करें, मेरे पास इसका उत्तर देने का कोई तरीका नहीं है

  1. सही Magento संस्करण डाउनलोड करें (उदाहरण: CE 1.9.1.0)
  2. निम्न फ़ाइलों को डाउनलोड किए गए स्थान से बदलें

त्वचा / व्यवस्थापक / डिफ़ॉल्ट / डिफ़ॉल्ट / मीडिया / flex.swf त्वचा / व्यवस्थापक / डिफ़ॉल्ट / मीडिया / uploader.swf त्वचा / व्यवस्थापक / डिफ़ॉल्ट / डिफ़ॉल्ट / मीडिया / uploaderSingle.swf

  1. पैच को चलाएं

मेरे लिए काम किया



10
क्या आपने ओपी प्रश्न पढ़ा? fschmengler ने पूछा: "फिर भी: क्या आपने पैच लगाने के दौरान कोई अनुकूलता समस्या या बग का सामना किया?" मैंने इस समस्या का सामना किया जब पैच लागू करना। मुझे लगता है कि इस धागे की भावना, SUPEE-8788 की संभावित त्रुटियों का दस्तावेजीकरण है। इसमें शामिल है - IMHO - पैच के साथ समस्याएं भी।
infabo

एक इलाज का काम किया, धन्यवाद! क्या यह सब भविष्य के Magento पैच के लिए भी करना सबसे अच्छा है?
किवीस्टस्टगूड

या आप बस dos2unix PATCH_SUPEE-8788_CE_1.9.2.4_v1-2016-10-11-07-03-46.sh
fbtb

आम तौर पर यह पहले आवश्यक नहीं था और मुझे लगता है कि भविष्य में यह आवश्यक नहीं होगा। मुझे लगता है कि अपलोडर SWFs केवल Magento 1.x के साथ भेजे गए बायनेरिज़ थे - अब वे चले गए हैं। इसलिए मैं भविष्य में फिर से इस तरह के किसी भी मुद्दे की उम्मीद नहीं करता हूं।
infabo

3
.shअपने Magento रूट पर पैच फ़ाइल अपलोड करने के लिए FileZilla का उपयोग करते समय, पैच फ़ाइल binaryअपलोड करने से पहले स्थानांतरण प्रकार सेट करें । संदर्भ
फॉरमैट

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 ऐप / डिज़ाइन / फ्रंटएंड / बेस / डिफ़ॉल्ट / टेम्प्लेट / समीक्षा / फ़ॉर्म.फिल्‍लम
चिह्न

9
मुझे आश्चर्य है कि क्यों, जब हम आधिकारिक वृद्धिशील पैच को ठीक से लागू करने के लिए समय लेते हैं, तो हमें मैन्युअल सुधार करने के लिए ऐसा करने के लिए दंडित किया जाता है जब पैच पहले से लागू किए गए पैच काम नहीं करते हैं। एक बहुत ही अजीब दृष्टिकोण।
जॉन हॉलैंड

1
1.9 से नीचे वाले संस्करणों में जिनके पास SUPEE 1533 स्थापित है, पैच को ठीक से स्थापित नहीं कर सकते हैं। SUPEE 8788 1533 के साथ संगत नहीं है
चिह्न

2
@JonHolland क्योंकि, ठीक है, यह Magento है।
अगोप

25

यहाँ पर मैंने (और अन्य) जो अब तक सामना किया है, उसका एक सारांश है, मैं इसे क्रमबद्ध रखने की कोशिश कर रहा हूं, जो कुछ भी याद आ रहा है उसे जोड़ने या लिंक करने के लिए स्वतंत्र महसूस करें, पोस्ट एक सामुदायिक विकी है:

असफल पैच के कारण

यदि आप देखते हैं कि "ERROR: पैच को सफलतापूर्वक लागू नहीं किया जा सकता है / वापस लाया जा सकता है", तो लॉग संदेशों में "Hunk # 1 FAILED" के लिए देखें कि कौन सा फ़ाइल विफल हुआ।

  • Magento 1.7 के लिए पैच के स्पष्ट रूप से v2 SUPEE-3941 की उम्मीद करता है, हालांकि यह केवल Magento 1.8 और 1.9 के लिए मौजूद है । यदि आप Magento 1.7 पर हैं और फ़ाइलों से संबंधित त्रुटियों को देखते हैं downloader, तो 1.8 के लिए SUPEE-3941 डाउनलोड करें और इसे 1.7 पर लागू करें, यह काम करना चाहिए। यहाँ टिप्पणी धागा देखें: सुरक्षा पैच SUPEE 8788 समस्या
  • Magento के संस्करणों पर, जिनके पहले SUPEE-1533 लागू है, पैच पर विफल रहता है app/code/core/Mage/Adminhtml/controllers/DashboardController.phpक्योंकि फ़ाइल पैच और SUPEE-8788 दोनों से प्रभावित होती है (गलत तरीके से!) मानती है कि अप्रकाशित संस्करण मौजूद है। यह पैच के संस्करण 2 के साथ अभी भी सच है! संस्करण 2 में SUPEE-1533 से परिवर्तन शामिल हैं, इसलिए यदि आपने इसे पहले स्थापित किया है, तो आपको अभी भी इसे वापस करना होगा, लेकिन आपको इसे फिर से बाद में मैन्युअल रूप से लागू करने की आवश्यकता नहीं है।

  • यदि आपने "डाउनलोडर" निर्देशिका को हटा दिया है या नाम बदल दिया है, तो पैच विफल हो जाएगा क्योंकि यह डाउनलोडर के भीतर एक फ़ाइल को पैच करता है। सबसे आसान समाधान मूल डाउनलोडर निर्देशिका को पुनर्स्थापित करना है, पैच लागू करना है, फिर निर्देशिका को फिर से हटाना है। वैकल्पिक रूप से, आप downloader/lib/Mage/HTTP/Client/Curl.phpपैच से निर्देश भी निकाल सकते हैं ।

  • अन्य "हंक विफल" संदेश आमतौर पर कोर फ़ाइलों में परिवर्तन या पिछले पैच को याद करने के कारण होते हैं। सुनिश्चित करें कि आपके Magento संस्करण के लिए पिछले सभी पैच इंस्टॉल किए गए हैं और आपने कोर फ़ाइलों में बदलाव नहीं किए हैं।

  • एक अन्य आम समस्या यह है कि पैच .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/piotrekk विटामिनki/9bc45ec84028611d621e में समझाया गया कर्ल का उपयोग करके हमेशा मेरे लिए काम किया, सिवाय इसके कि मैंने सिग्विन पर इसे आज़माया

विफल पैच से निपटने का उन्नत तरीका: @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 और कस्टम अपलोड फॉर्म के साथ अन्य एक्सटेंशन अब काम नहीं कर रहे हैं।

इस जवाब को @mpchadwick द्वारा देखें और @lloiacono द्वारा टिप्पणी करें

मैं बदल कर यह तय $this->getUploader()->getConfig()साथ $this->getUploader()->getUploaderConfig()मेंUnirgy_RapidFlow_Block_Adminhtml_Profile_Edit_Tab_Upload

यह जानने के लिए कि आपका कोई एक्सटेंशन इसका उपयोग करता है, तो आप कमांड लाइन पर निम्नलिखित को चला सकते हैं:

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

रिपोर्ट किए गए त्रुटि संदेश

  • PHP घातक त्रुटि: अपरिभाषित फ़ंक्शन hash_equals () पर कॉल करें

    यदि आप 5.6 से पहले एक PHP संस्करण पर हैं और ओवरराइड करते code/core/Mage/core/functions.phpहैं code/local/Mage/core/functions.php(यदि आप फ़िशपीग एक्सटेंशन का उपयोग करते हैं तो मामला हो सकता है)। इस उत्तर को देखें @ClaudiuCreanga


पैच के v2 में हल की गई समस्याएं

यदि आप इनमें से किसी भी समस्या का सामना करते हैं, तो आप शायद पैच के संस्करण 1 (फ़ाइलनाम में "v1") का उपयोग करते हैं। "V2" पाने के लिए पैच को फिर से डाउनलोड करें जो इन मुद्दों को ठीक करता है:

  • SUPEE-3941 और के साथ संगतता समस्या थी downloader/lib/Mage/HTTP/Client/Curl.php

  • संदेश में 'अपवाद' के साथ / असमर्थित डेटा प्रकार N 'में /lib/Unserialize/Reader/ArrValue.php

  • ईई 1.14.2.0 के लिए पैच में गलती से एक नई फ़ाइल test_oauth.php शामिल थी जिसे आपको हटाना चाहिए! इस उत्तर को @MatthiasZeis द्वारा देखें


जब टोकरी में उद्धरण वस्तु को अपडेट करने के लिए फॉर्म की कुंजी जोड़ी जाती है, तो वह कुछ नहीं है जिसे SUPEE-8788 के साथ जोड़ा गया है (1.9.2.4 से कम से कम नहीं)
राफेल में डिजिटल पियानोवाद

@RaphaelatDigitalPianism बहुत कम से कम 1.13.0.1 पैच के रूप में कुंजी सत्यापन को जोड़ता है Mage_Checkout_CartController::updatePostAction, संभवतः अन्य पैच संस्करणों को भी।
ल्यूक रॉजर्स

23

अगर तुम्हे मिले

Call to undefined function hash_equals() error

यहां तक ​​कि अगर आपका पैच सफल था, तो इसका मतलब यह हो सकता है कि आपने कार्यों को कॉपी किया है 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
ऑफहैंड मुझे पता है कि फिशपीग को आपको ऐसा करने की आवश्यकता है। इसलिए यदि आपने इसे स्थापित किया है तो यह आपके लिए एक मुद्दा होगा।
एमपीचैडविक

1
नोट: मैं भ्रमित था और यह MWI है जो आपको फ़ंक्शन को ओवरराइड करने के लिए कहता है ।php, न कि फिशपिग mwi-plugin.com/documentation/installation
एमपीचैडविक

18

में PATCH_SUPEE-8788_EE_1.14.2.0_v1-2016-10-10-02-27-03.sh, test_oauth.phpMagento रूट डायरेक्टरी में एक फ़ाइल बनाई जाती है। आप इसे हटाना चाहते हैं (या कम से कम इसे उत्पादन पर तैनात नहीं करते हैं) क्योंकि यह URL https: //thedomain.tld/test_oauth.php पर कॉल करने वाले व्यक्ति को एक पूर्ण अपवाद स्टैक ट्रेस को उजागर कर सकता है ।


अच्छा कैच, मैथियस! 17 APPSEC पैच को तैनात करने और उसी समय एक और वेक्टर खोलने के लिए कुछ बुरा रूप होगा। क्या आपने अभी तक मैगनेटो को इसकी सूचना दी है?
ब्रायन 'बीजे' हॉफपॉयर जूनियर

मैंने इसके बारे में मैगेंटो सपोर्ट के साथ एक टिकट खोला, क्योंकि मुझे यकीन है कि अन्य लोग इस बिंदु पर हैं। पैच के v2 संस्करण के बारे में वापस नहीं सुना गया, लेकिन उन्हें इस मुद्दे के बारे में पता होना चाहिए।
quasiobject

1
एक v2 होगा, बहुत जल्द प्रकाशित किया जाना चाहिए। हां, जब मैंने यहां पोस्ट किया तो मैंने इसकी सूचना दी।
मथियास ज़ीस

1
ऐसा लगता है कि अब तय हो गया है
इरफान

18

1.7 मैग्नेटो संस्करण के लिए इस आवेदन


यदि आप SUPEE 8788 का 1.7.0.2 संस्करण 2 चला रहे हैं, तो 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 जारी करना चाहिए या एक अतिरिक्त SUPEE-3941 पैच बनाना चाहिए जो 1.8 से नीचे के संस्करण के लिए डिज़ाइन किया गया है।

Btw Supee-8788 के संस्करण 1 नहीं किया है Curl.php1.7.0.2 पर त्रुटि (मैं इसे इंस्टॉल पर परीक्षण)

युक्ति: यदि आप अंत में .swf त्रुटियों का सामना कर रहे हैं, तो सुनिश्चित करें कि आप अपने पैच को संपीड़ित करें, सर्वर पर अपलोड करें और वहां विघटित करें। डब्ल्यूडब्ल्यूएफ त्रुटि दूर हो जाएगी।

अपडेट करें:

Magento ने कहा कि मूलतः SUPEE-3941 पैच को Magento 1.7.0.2 संस्करण पर स्थापित करना ठीक है, SUPEE-8788 को लागू करने में त्रुटियों से बचने के लिए


हमें छोड़ दिया गया है
datasn.io

@ kavoir.com आपको 1.7.0.2 पर स्थापित होने पर CURL.PHP त्रुटि भी मिलती है ??
आइकन

1
यहाँ एक ही मुद्दा 87.0 V2 को 1.7.0.2 पर स्थापित करता है, हालांकि दिलचस्प है कि हमें अपने नए 1.9.2.1 संस्करण साइटों पर वही कर्ल.फपी त्रुटि मिलती है, जिसमें SUPEE-3941 उपलब्ध नहीं है। 1533 को वापस लाने से उस समस्या में भी मदद नहीं मिलती है
जॉन हॉलैंड

@ जोंहोलैंड मैंने मैजेंटो टीम को लिखा ... मुझे उम्मीद है कि वे जवाब देंगे
चिह्न

2
मुझे Magento के कम्युनिटी लीडर से जवाब मिला, मूल रूप से 1.7.0.2 वर्जन पर 3941 पैच लगाना ठीक है ..
Icon

15

ओरिजिनल डैशबोर्डकंट्रोलर। एफपी (1.7.0.2- मैक्डो से ताजा नहीं, ताजा)

  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)))) {

जैसा कि आप देख सकते हैं कि 1533 की तुलना में 8788 में एक संशोधित बदलाव है, मुझे यकीन नहीं है कि फ़ाइल को संशोधित करने के लिए इसके आदर्श को संशोधित किया जा सकता है जैसा कि एमपीचैडविक ने 8788 स्थापित करने के बाद 1533 के साथ 8788 परिवर्तन को मैन्युअल रूप से प्रतिस्थापित किया है। मूल रूप से 8788 परिवर्तन को हटा दिया है।

कोई सुझाव?


2
IMO वांछित अंतिम परिणाम दो का मिश्रण है। यह json_decode होना चाहिए, लेकिन इसे == के बजाय hash_equals का उपयोग करना चाहिए। यह एक समय पर हमला करने से रोकता है (जो शोषण के लिए अत्यंत कठिन होगा)।
पीटर ओ'कालाघन

@Peter से सहमत हैं। यदि आप Git का उपयोग करते हैं, तो SUPEE-1533 के लिए कमिट को वापस करें, नया पैच लागू करें, कमिट करें, फिर से वापस किए गए श्रद्धेय को वापस लाएं। संघर्ष को DashboardController.phpस्वतः हल किया जाना चाहिए।
फाबियन शेंगलर

1
क्या आप DashboardController.php के लिए कोड का एक टुकड़ा प्रदान कर सकते हैं जिसे हमें 8788 स्थापित करने के बाद बदलना चाहिए? मुझे बिल्कुल यकीन नहीं है कि क्या संपादित करना है, जैसे कि मैंने ऊपर उल्लेख किया है, 1533 और 8788 पैच लाइनें अलग दिखती हैं। क्या आप कृपया प्रदान कर सकते हैं कि मैन्युअल रूप से संशोधित संस्करण कैसा दिखना चाहिए?
चिह्न

1533 अद्यतन के साथ मैनुअल संशोधन के बाद 8788 कोड कैसा दिखना चाहिए? if (हैश_इलिश ($ newHash, $ gHash)) {अगर ($ params = json_decode (base64_decode (urldData)))) {
Icon

1
नोट दो बार भेजने से संबंधित है: आप इसके लिए अतिरिक्त कमिट बनाए बिना SUPEE-1533 का उपयोग git revert -n 123456abऔर git 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 पर पूरी तरह से स्थापित है और यह (ऐप / डिज़ाइन / फ्रंटएंड / बेस / डिफ़ॉल्ट / टेम्पलेट .....) में बदलाव करता है। लेकिन चेंज वेबसाइट फ्रंटएंड विशलिस्ट के बावजूद, सभी काम पूरी तरह से हटा दें बटन जोड़ें। क्या हमें अभी भी मैन्युअल रूप से थीम फ़ाइलों को पैच करने की आवश्यकता है? या, जब तक कि फ्रंट-लैंथ पर कुछ भी टूट नहीं जाता है, तब तक हम छोड़ सकते हैं?
चिह्न

11

मैं 1.9.2.4 में swf में एक ही समस्या से मुलाकात की।

फॉक्स फिक्स्ड - कृपया नीचे दिए गए चरणों का पालन करें।

चरण १. इस लिंक पर सुरक्षा पैच H Step to एसएसएच फ़ाइल डाउनलोड करें: - https://magento.com/tech-resources/downloads/bagal/

चरण 2. डाउनलोड सुरक्षा पैच 8788 SSH फ़ाइल के बाद कृपया एक फ़ोल्डर में रखें और एक ही फ़ोल्डर ज़िप फ़ाइल बनाएँ।

चरण 3. कृपया एसएसएच पुट्टी के माध्यम से रूट फ़ोल्डर को रूट मैगनेटो फ़ोल्डर और अनज़िप में ज़िप फ़ोल्डर अपलोड करें।

चरण 4. पैच चलाएँ: - $ bash PATCH_SUPEE-8788_CE_1.9.2.4_v1-2016-10-11-07-03-46.sh

* नोट: उसने पैच फाइल में टेक्स्ट फॉर्मेट में पूरी बाइनरी फाइलें हैं। ऐसा क्यों है जब आप बिना जिप फाइल के सिक्योरिटी पैच 8788 SSH फाइल अपलोड करते हैं, तो वही फाइल करप्ट होगी। *


10

SUPEE-8788 की अपील करने के बाद, मैं अब 500 त्रुटि (Apache या HTTPD लॉग में कुछ नहीं) प्राप्त कर Unirgy_RapidFlow 2.0.0.18 का उपयोग करके "आयात" प्रोफाइल लोड करने में सक्षम नहीं था।

मैं अभी भी डिबगिंग की प्रक्रिया में हूं और हल करने के लिए Unirgy के साथ काम कर रहा हूं, लेकिन ऐसा प्रतीत होता है कि अपलोडर ब्लॉक समस्या ( Unirgy_RapidFlow_Block_Adminhtml_Profile_Edit_Tab_Upload) पैदा कर रहा है ।

पैच ने Mage_Adminhtml_Block_Catalog_Product_Helper_Form_Gallery_Contentमाता-पिता को कई बदलाव पेश किए ।

URapidFlow के अलावा, फ़ाइल अपलोड की अनुमति देने वाले अन्य 3 पार्टी मॉड्यूल SUPEE-8788 के परिणामस्वरूप टूट सकते हैं।


क्या आपको इसके लिए पहले से ही कोई हल मिल गया है? मैं $ इस- की जगह यह तय> getUploader () -> getConfig () $ इस- साथ> getUploader () -> getUploaderConfig () Unirgy_RapidFlow_Block_Adminhtml_Profile_Edit_Tab_Upload में
lloiacono

अब अच्छा है। लगता है कि Unirgy ने भी इसे 2.0.0.23 में तय किया है। Secure.unirgy.com/release-notes.php?m=1#RapidFlow मैं एक ग्राहक के साथ अतिरिक्त अपग्रेड खरीदने के लिए काम कर रहा हूं और उसे मान्य नहीं कर पाया हूं।
मपचडविक

यह जानने के लिए कि कौन-सी अन्य फ़ाइलों को ठीक करने की आवश्यकता है: 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 की सिफारिशों का पालन करते हुए "डाउनलोडर" फ़ोल्डर का नाम बदल दिया है ।

मैंने अस्थायी रूप से फ़ोल्डर को "डाउनलोडर" में बदल दिया, पैच को सही तरीके से लागू किया और फिर इसका गुप्त नाम के साथ नाम बदल दिया।


8

SUPEE-3941 के कारण 1.9.0.0 पर पैच भी (शायद 1.9.0.1 प्रभावित होने तक 1.8.0.0) विफल रहता है। 3941 पैच डाउनलोडर / लीब / मैसेज / एचटीटीपी / क्लाइंट / कर्ल.फपी और अब 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 पैच को स्वयं समायोजित करने की आवश्यकता है।

संपादित करें: पैच संपादित करें, कर्ल.फैप और बदलें के लिए खोजें

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
Jeroen cermeulen - 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

एक ही त्रुटि io एक स्थापित हो रही है। यह जानना अच्छा लगेगा कि क्या आपको कुछ पता चल गया है।
टूनाक्सएक्स

नहीं, अभी भी किसी और के लिए इंतजार कर यह पता लगाने के लिए
Haim

2
Magento.stackexchange.com/a/73957/9276 देखें । यदि आपकी कर्ल.एफ़पीपी फ़ाइल में यह फिक्स है, तो उस परिवर्तन को पूर्ववत करें (CURLOPT_SSL_CIPHER_LIST / 'TLSv1' पर लाइन वापस करें), पैच लागू करें और परिवर्तन को फिर से करें।
जो

धन्यवाद @ जो। बस उसी जानकारी को पोस्ट करने के लिए यहां वापस आ रहा था। आपने मुझे इसमें हरा दिया! जो मुझे सोने के लिए मिलता है। :)
TUNMaxx

एक ही मुद्दा था, इसने इसे हल किया। धन्यवाद!
dafyddPrys

8

लगता है कि मैगेंटो को SUPEE 1588 संगतता को ठीक करने के लिए, SUPEE 8788 का अपडेटेड संस्करण जारी किया जाएगा । मुझे यकीन नहीं है कि इसका अच्छा विचार मैन्युअल रूप से लागू करने के लिए अभी तय करता है। मैन्युअल परिवर्तन भविष्य के पैच अपडेट से समझौता कर सकते हैं। अपने विचार सुनना चाहेंगे।

इसकी पुष्टि मैगेंटो कम्युनिटी मैनेजर ने की है। 13 अक्टूबर, दोपहर 3 बजे के रूप में .. 1.9 से नीचे के संस्करणों के लिए सभी पैच डाउनलोड सूची से हटा दिए गए हैं https://www.magentocommerce.com/download?_ga=1.236497153.1889606568.1445610645 पोस्ट देखें: https://community.magento.com/t5 / सुरक्षा-पैच / Supee-8788-और-Supee-1533-असंगत-हंक त्रुटि / एमपी / 50514 / हाइलाइट / गलत # M1805


1
यदि अपडेट किए गए पैच में हमारे मैनुअल फ़िक्सेस की तुलना में ठीक वैसा ही परिणाम है, और मुझे उम्मीद है कि ऐसा ही है, तो मुझे कोई समस्या नहीं दिखती है। अद्यतन पैच आवश्यक नहीं होगा और भविष्य के पैच में अंतर नहीं दिखेगा।
फैबियन शेंगलर

1
SUPEE-7405 IMO के लिए PHP 5.5 असंगतता के समान @fschmengler। पैच मैनुअल फिक्स को प्रतिबिंबित करेगा।
पर डिजिटल पियानिज़्म

1
@fschmengler मेरे ज्ञान के लिए Magento ठीक उसी पैच को फ़िक्स के साथ फिर से जारी करेगा। मैं पुराने पैच (स्व संशोधित) को हटाने और नए स्थापित करने के लिए अपना सर्वश्रेष्ठ मार्गदर्शन करता हूं (संभवत: अगले दिन रिलीज हो सकता है। कल तक हमारे पास अपडेट होना चाहिए। मदद के लिए धन्यवाद!
आइकन

मैं इस योगदान के मूल्य पर संदेह नहीं कर रहा हूं, लेकिन क्यू एंड ए शैली से चिपके हुए हैं, यह जवाब मुझे एक उत्तर की तरह नहीं लगता है, अधिक अपडेट का @fschmengler अपने मूल प्रश्न में जोड़ सकता है (या आप इसे जोड़ सकते हैं सामुदायिक विकी उत्तर)।
7ochem

8

हमें निम्नलिखित नए मुद्दों की रिपोर्ट मिल रही है, जिन्हें मैं अन्य पोस्ट में नहीं देखता:

  • कुछ मामलों में नई रिलीज़ में अपवाद - addCrumbs () विधि कॉल (मामले में getStoreConfig (वेब ​​/ डिफ़ॉल्ट / show_cms_breadcrumbs) अपरिभाषित है)। पैच को प्रभावित नहीं करना चाहिए, केवल 1.9.3 / 1.14.3 रिलीज

1.9.1.0 में / 'in.lib/Unserialize/Reader/ArrValue.php' और संभवत: पुराने संस्करणों में पैच लागू होने पर संदेश 'असमर्थित डेटा प्रकार एन' के साथ 'अपवाद'। पैच संस्करण 2 में हल किया गया।

वर्तमान में उन मुद्दों के लिए कोई आसान आसान वर्कअराउंड नहीं हैं। हम उन्हें एक नए पैच संस्करण में हल करने के लिए काम कर रहे हैं।


असमर्थित डेटा प्रकार एन त्रुटि gist.github.com/balloz/ceaf5feb5ac66caaa82342441d32aa88 के
पर डिजिटल पियानोवाद

1.6 और 1.7 संस्करणों पर SUPEE 8788 स्थापित करते समय कर्ल.एफ़पी त्रुटि को दूर करने का कोई विचार?
आइकन

8

जब आप डाउनलोड करने योग्य उत्पादों के लिए एक ही समय में नमूने और लिंक के लिए एक ही फ़ाइल अपलोड करते हैं तो अपलोडर टूट जाता है। ध्यान दें कि यह केवल तब होता है जब आप दोनों क्षेत्रों में एक ही फ़ाइल का उपयोग करते हैं। (यह पैच से पहले सही तरीके से काम करता था।)

पुन: पेश करने के लिए, एक डाउनलोड करने योग्य उत्पाद को संपादित करें और डाउनलोड करने योग्य सूचना टैब पर क्लिक करें :

  1. समझौते की नमूने पंक्ति खोलें और एक नमूना फ़ाइल के लिए ब्राउज़ करें।
  2. समझौते की लिंक पंक्ति में, डाउनलोड लिंक के लिए ब्राउज़ करें
  3. लिंक अनुभाग के भीतर से फ़ाइलें अपलोड करें पर क्लिक करें

अपलोडर डाउनलोड करने योग्य लिंक फ़ाइल के बजाय नमूना फ़ाइल अपलोड करता है, और डाउनलोड करने योग्य लिंक अनुभाग में आपके द्वारा ब्राउज़ की गई फ़ाइल गायब हो जाती है।

मैं एक वेनिला पर यह पुन: पेश करने में सक्षम था, 1.7.0.2 CE स्थापित पैच।



6

हां, मैंने लॉगिन करते समय दूसरे मुद्दे का सामना किया, यह हमेशा वापस आएगा:

मैंने पाया कि क्योंकि वर्ग Enterprise_Pci_Model_Observer लाइन 165 पर है,

के बजाय:

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

यह ठीक करेगा:

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

चूंकि मुझे कोर बदलना पसंद नहीं है (यहां तक ​​कि स्थानीय में भी स्थानांतरित करें), यह सबसे अच्छा है अगर मैगेंटो इसे ठीक करता है या इसे स्पष्ट करता है। फिलहाल मेरा विस्तार करने के लिए नए एक्सटेंशन बना रहा है और getPassword () के लिए फ़ंक्शन बना रहा है (क्योंकि मैं यह सुनिश्चित करना चाहता हूं कि सभी देव डेवलपर मोड का उपयोग करें)।


2
अब पैच के V2 को लागू करने के बाद, मैं उसी मुद्दे को EE1.12 से जोड़ रहा हूं। ऐसा लग रहा है कि यह फ़ाइल 1.12 और 1.14 के बीच किसी बिंदु पर बदल गई है, लेकिन पैच के भाग के रूप में नहीं
क्रिस

1
Magento के साथ यह उठाया और उन्होंने इस मुद्दे को संबोधित करने के लिए एक और पैच की आपूर्ति की। परिवर्तन ऊपर के समान है।
क्रिस

6

पैच फ़ाइल का संपादन

अगर किसी को पैच फाइल को एडिट करना है, तो आपको इसे एडिटर में नहीं करना चाहिए क्योंकि इससे पैच में एनक्रिप्टेड बाइनरी फाइल्स टूट जाएंगी।

यदि आपके पास कमांड लाइन है यानी। linux / * यूनिक्स 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 विन्यास पर सक्षम नहीं है, इसके साथ सावधान रहें
डिजिटल पियानोवाद

@RaphaelatDigitalPianism आप सही हैं। हालाँकि <?=अधिकांश php.ini कॉन्फ़िगरेशन में डिफ़ॉल्ट रूप से सक्षम है, कुछ होस्ट इसे अक्षम करने के लिए चुनते हैं।
सर्गेई फिलिप्पोव

5

सीई 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 लागू करने का सुझाव दिया गया है ।

हालाँकि, पैच डाउनलोड पेज पर, सीई 1.6.2.0 के लिए कोई सुपर -3941 पैच नहीं है। पैच केवल सीई 1.8 और 1.9 के लिए उपलब्ध है।

जैसा कि इस धागे में उल्लेख किया गया है, सीई 1.7 पर उपलब्ध SUPEE-3941 पैच (सीई 1.8 और 1.9 के लिए) को लागू करना ठीक प्रतीत होता है।

क्या CE 1.6.2.0 पर SUPEE-3941 (CE 1.8 और 1.9 के लिए) को लागू करना ठीक है? मैंने इसे सीई 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

थोड़ी देर से, लेकिन हमें पैच SUPEE-8788 V2 में एक समस्या मिली जो कम से कम Magento 1.7.0.2 और 1.7.0.1 के लिए पैच फ़ाइलों पर लागू होती है। संभवतः यह उन सभी पूर्व संस्करणों पर भी लागू होता है जिनके लिए एक पैच संस्करण मौजूद है। 1.8 से Magento संस्करण प्रभावित नहीं हैं क्योंकि पैच उन लोगों के लिए टेम्पलेट नहीं बदलता है।

विस्तार से

पैच फ़ाइल के लिए एक प्रपत्र गुम है app/design/frontend/base/default/template/persistent/checkout/onepage/login.phtml

इसके बिना लॉगिन ऑनपेज चेकआउट पर काम नहीं करता है (यह सिर्फ त्रुटि के बिना काम नहीं करता है)।

ठीक कर

निम्नलिखित फ़ॉर्मेट की तरह एक फॉर्मकी डाली जानी चाहिए:

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 ***** से नीचे की पंक्ति को बदलें।

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 ओवरराइड परिवर्तन, और मूल 1533 परिवर्तन समाप्त हो जाएंगे?
आइकन

2
हां 1533 के उद्देश्य को json_encode () द्वारा अनुक्रमिक () प्रतिस्थापित करने का उद्देश्य हमले के पास ($ newHash == $ gHash) की संभावना को कम करना था। जबकि 8788 इसी उद्देश्य के लिए hash_equals () जोड़ता है
विलियम झाओ

महान, मैं थोड़ा अन्य तरीके से करने के बारे में सोच रहा था, अपने परीक्षण स्थल पर मैंने स्वच्छ डैशबोर्डकंट्रोलर.फैप (स्टॉक मैगेंटो फ़ाइल) अपलोड किया और SUPEE 8788 स्थापित किया। हालांकि, मैंने इस मंच पर पढ़ा और एक सज्जन ने सुपी को बदलने के लिए मैन्युअल रूप से 1533 बदलावों का उल्लेख किया। 8988 संशोधित फाइल। आप मेरी विधि के बारे में क्या सोचते हैं?
आइकन

आइकन, ऊपर दिए गए मेरे अंतर को देखें, अपने तरीके से आपको SUPEE 1533 द्वारा अपडेट की गई लाइन को 'app / code / core / Mage / Adminhtml / Block / Dashboard / Graph.php' में बदलने की आवश्यकता है और साथ ही यदि आपके पास पहले से ही 1533 नंबर है। समझौता। अन्यथा Graph.php json प्रारूप परम्स को नष्ट कर देगा और आप इसे अनसैनीलाइज़ () से डिकोड करने में सक्षम होंगे
विलियम झाओ

4

पैच लगाने के बाद Authorize.net कैप्चर टूट जाता है। प्राधिकृत करना अच्छा काम करता है, लेकिन भुगतान को कैप्चर करने पर इसे "गेटवे त्रुटि: क्रेडिट कार्ड नंबर की आवश्यकता होती है" । भुगतान लॉग फ़ाइल से पता चलता है कि x_typeपैराम auth_captureअब पास मूल्य है, लेकिन पैच से पहले यह पास हो जाता था prior_auth_captureजो अच्छी तरह से काम करता था। किसी को भी इस मुद्दे का अनुभव?

अद्यतन: इस मुद्दे के लिए तय - अधिकृत नहीं कैप्चरिंग


4

मैंने SUPEE-8788 के साथ SSH का उपयोग करते हुए Magento 1.9.2.4 की एक कॉपी पैच की है। मैंने Magento 1.9.2.4 की एक और कॉपी पैच किया है। SUPEE-8788 के साथ ftp का उपयोग करके मैंने Magento की एक कॉपी पैच की है। 1.9.1.0 SSEE-8788 का उपयोग करके Magento 1.9.3.1 की एक नई प्रति का उपयोग किया

SUPEE-8788 के साथ इन सभी मैग्नेटो वेब साइटों में मुझे एक ही समस्या का अनुभव होता है (शायद पैच का एक बग)

डाउनलोड करने योग्य उत्पादों का उपयोग करना और डाउनलोड करने योग्य जानकारी में जाना-> नमूने जब मैं "X" पर क्लिक करके एक नई पंक्ति (एक या अधिक) जोड़ने का प्रयास करता हूं तो मैं पंक्ति को हटाने में सक्षम नहीं हूंयहाँ छवि विवरण दर्ज करें

मैं Magento में इतना माहिर नहीं हूँ कि मैं एक समाधान खोजने की कोशिश कर रहा हूँ। अगर मुझे लगता है कि मैं पोस्ट करूंगा, अगर आप में से किसी के पास कुछ समाधान है तो यह मेरे लिए बहुत उपयोगी होगा

अद्यतन : क्रोम निरीक्षक का उपयोग कर मैंने यह त्रुटि देखी:यहाँ छवि विवरण दर्ज करें

******* मैं समाधान मिल गया *******

मैंने 2 दिन बिताए और मुझे उम्मीद है कि यह किसी और की मदद कर सकता है, यह SUPEE-8788 में एक बग है

अंदर नमूने खोलें 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();
    }
},

यह BUG को हल करेगा


3

1.9.2.1 चल रही साइट की टेस्ट कॉपी पर एप्लाइड PATCH_SUPEE-8788_CE_1.9.2.1_v1-2016-10-11-07-00-43 और इसने चेकआउट को तोड़ दिया है। पैच को वापस करें और चेकआउट सामान्य रूप से फिर से काम करता है।

आदेश सबमिट करते समय यह आपको चेकआउट सफलता के बजाय कार्ट में वापस ले जाता है। लगता है कि मैं फिर से कोशिश करने से पहले .1 संस्करण की प्रतीक्षा करूंगा।


एक अपवाद की तरह लगता है, जबकि आदेश बचा लिया जाता है, क्या आपने अपने लॉग की जाँच की है?
सिमोथेसेरेसर

इस तरह दिखता है ... PHP घातक त्रुटि: क्लास 'Mage_Core_Helper_UnserializeArray' में नहीं मिला ... / public_html / app / Mage.php ऑन लाइन 547
एडम लॉवरी

@AdamLavery वार / कैश पर जाएं और कैश फ़ोल्डर हटाएं। मुझे वह त्रुटि तब मिलती है जब मैं मूल पृष्ठ पर वापस जाता हूं। यह एक कैश बात है।
आइकॉन

जल्द ही नया पैच आउट होना चाहिए। यह कोई त्रुटि नहीं होने की उम्मीद करने के लिए एक बड़ा पैच अपडेट है ... हाँ ... उंगलियां पार हो गईं।
चिह्न

1
यह संभावना है क्योंकि आप गायब हैं app/code/core/Mage/Core/Helper/UnserializeArray.phpयह SUPEE-6788 में जोड़ा गया था, जिसे आपने इंस्टॉल नहीं किया होगा। ऐसा लग रहा है कि SUPEE-8788 की SUPEE-6788 पर अघोषित निर्भरता है।
टायलर वी।

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 संस्करणों में इन सुरक्षा मुद्दों को संबोधित करता है। दुर्भाग्य से, हमने पाया है कि सामुदायिक संस्करण 1.8 के लिए SUPEE-8788 पैच और पहले रिलीज़ और एंटरप्राइज़ संस्करण 1.13 और इससे पहले रिलीज़ विफल हो जाते हैं यदि किसी स्टोर ने पहले SUPEE-1533 या SUPEE-3941 सुरक्षा पैच लागू किया हो। हम इस मुद्दे को ठीक करने के लिए काम कर रहे हैं और अगले एक से तीन दिनों में नए पैच प्रदान करेंगे। तब तक, हम वितरण से SUPEE-8788 पैच के इन संस्करणों को निकाल रहे हैं ...

हालाँकि, मुझे चिंता है कि मेरे सक्रिय Magento संस्करण CE 1.9.3 के बीच आते हैं जो कहते हैं कि वे काम करते हैं और नए संस्करण V1.8 और नीचे के लिए जल्द ही आ रहे हैं। मैंने उनसे संपर्क किया है इसलिए इंतजार करेंगे और देखेंगे कि वे क्या कहते हैं।


वास्तव में एक "उत्तर" नहीं है, लेकिन उपयोगी जानकारी उम्मीद है।
जॉन हॉलैंड

हाय जॉन, आप भी @ fschmengler के मूल प्रश्न को संपादित कर सकते हैं और इसे नीचे एक अद्यतन के रूप में जोड़ सकते हैं । मुझे लगता है कि वह इसके साथ ठीक होगा और उस संपादन को मंजूरी देगा।
7ochem

अच्छा विचार है, लेकिन किसी ने पहले से ही कुछ जोड़ा है :)
जॉन हॉलैंड

3

मैं पेटिंग का बहुत बड़ा प्रशंसक नहीं हूं। व्यक्तिगत रूप से मैं अपनी निर्देशिका से सभी Magento फ़ाइलों को हटाता हूं, फिर नया संस्करण (शेल स्क्रिप्ट का उपयोग करके) अपलोड करता हूं। मॉड्यूल या थीम जैसे वर्षों में स्थापित सभी फाइलें अभी भी हैं। डेटाबेस के लिए मैं ताजा स्थापित संस्करणों के बीच तुलना करता हूं। एक तरीका डेटाबेस में कॉलम / टेबल बना रहा है या हटा रहा है, दूसरा तरीका फिर से Magento स्थापित कर रहा है बस /app/etc/local.xml फ़ाइल नाम बदल रहा है। मैं पहले वाले को पसंद करता हूं।

यदि आप 1.9.3.0 के संस्करण में डेटाबेस संरचना को नहीं बदलते हैं, तो आपको कुछ त्रुटियां मिलेंगी या आप व्यवस्थापक क्षेत्र को लोड नहीं कर सकते। अगर किसी को Magento CE 1.9.2.4 और 1.9.3.0 के बीच Magento निर्देशिकाओं और डेटाबेस के लिए कुछ तुलनाओं में रुचि है, तो बस यहाँ से फ़ाइल डाउनलोड करें:

Magento तुलना: संस्करण 1.9.2.4 - 1.9.3.0

बहुत अच्छे दृश्य परिणामों के साथ दो html फाइलें हैं।

मैंने पैचिंग के बजाय अपनी पद्धति का उपयोग करके आज 4 स्टोर अपडेट किए। सभी बिना किसी मुद्दे के चल रहे हैं।


यह अच्छा है अगर आप सबसे हाल के संस्करण पर हैं और पैच के लिए एक नई रिलीज़ है, जैसा कि 1.9.2.2, 1.9.2.3 और 1.9.2.4 के साथ हुआ था - हालाँकि इस पैच के लिए कोई नई रिलीज़ नहीं थी 1.9.2.5 । संस्करण 1.9.3.0 में अतिरिक्त परिवर्तन शामिल हैं जो सुरक्षा से संबंधित नहीं हैं।
फाबियान शेंगलर

अपनी पद्धति के साथ मुझे दो में एक, सुरक्षा अद्यतन और नई सुविधाएँ मिलीं। एकमात्र समस्या आपको यह समझने की है कि रिलीज के बीच फाइल सिस्टम और डेटाबेस में क्या हो रहा है। जब आप जानते हैं कि आप क्या कर रहे हैं तो यह कोई बड़ी बात नहीं है। और आपका बेहतर नियंत्रण है। मैं 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.

... फ़ाइल ऐप / कोड / कोर / Mage / Adminhtml / नियंत्रकों / IndexController.php हंक # 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 dir में कुछ भी नहीं है। पूरी तरह से खाली। नोट: कर्ल.एफ़पी डाउनलोडर डीआईआर में है। नाम नहीं बदला। यह खत्म हो गया है, लेकिन मैं SWF फ़ाइलों को हटा कर नहीं देखता। मुझे लागू की सूची में लागू पैच नहीं दिख रहा है

कुछ समझ नहीं आया।


ठीक है .. यह सब पता लगा। निश्चित रूप से क्रम में सभी पुराने पैच के माध्यम से काम करने की आवश्यकता है। मेरे पास कुछ पुराने पैच थे जिन्हें लागू नहीं किया गया था। एक बार जब मैंने उन लोगों को नीचे खींच लिया, और लाइन पर लागू किया, तो चीजें बहुत तेजी से पैच होने लगीं। हालाँकि, मैंने पाया कि जब भी मुझे किसी भी पैच के लिए फ़ाइल पर एक हंक त्रुटि मिली, मुझे पैच में जाना था और यह पता लगाना था कि इसे बदलने की कोशिश कर रहा था और मैन्युअल रूप से इसे अपने मैगनेटो इंस्टॉल में क्या करना था। पैच और रेरन से उन "अलग" लाइनों को हटा दें। अनिवार्य रूप से किसी भी समय आप एक हंक त्रुटि देखते हैं, पैच में जाते हैं और देखते हैं कि यह इसके लिए +/- से क्या प्रयास कर रहा है, और फिर अपने आप को करें।
रिच येशियन

3

मैंने आज लगभग 10 वेबसाइटों को पैच किया है, और हर साइट जहां 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। त्रुटि !! लाइन के बाद

फ़ाइल डाउनलोडर / परिवाद / दाना / HTTP / ग्राहक / कर्ल / एफपी की जाँच करना

इसलिए मैंने Curl.phpफ़ाइल की जाँच की और पाया कि मैंने पहले फ़ाइल को संशोधित किया था (एक पंक्ति में टिप्पणी की थी)। मैंने मूल फ़ाइल को पुनर्स्थापित किया और पैच को फिर से चलाया। तब पैच सफल रहा। ;)।

तब मैंने जाँच की:

/app/etc/applied.patches.list और सब कुछ अच्छा लगता है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.