সুরক্ষা প্যাচ SUPEE-10752 - সম্ভাব্য সমস্যা?


14

25 এপিএসইসি সমস্যা সমাধান করে একটি নতুন সুরক্ষা প্যাচ ম্যাজেন্টো 1 এর বাইরে রয়েছে

https://magento.com/security/patches/supee-10752

এই প্যাচটি প্রয়োগ করার সময় আপনার কোন সাধারণ সমস্যাগুলি লক্ষ্য করা উচিত?

SUPEE-10752, Magento বাণিজ্য 1.14.3.9 এবং ওপেন সোর্স 1.9.3.9 এ একাধিক সুরক্ষা বর্ধন রয়েছে যা প্রমাণীকৃত প্রশাসক ব্যবহারকারী রিমোট কোড এক্সিকিউশন (আরসিই), ক্রস-সাইট অনুরোধ জালিয়াতি (সিএসআরএফ) এবং অন্যান্য দুর্বলতাগুলিকে বন্ধ করতে সহায়তা করে।

1.14.3.9 এবং 1.9.3.9 প্রকাশের সমস্ত পরিবর্তনের তথ্য ম্যাজেন্টো কমার্স এবং ম্যাজেন্টো ওপেন সোর্স রিলিজ নোটগুলিতে পাওয়া যায়।

প্যাচ এবং আপগ্রেডগুলি নিম্নলিখিত ম্যাজেন্টো সংস্করণের জন্য উপলভ্য:

ম্যাজেন্টো কমার্স 1.9.0.0-1.14.3.9: সুপারি -10752 বা ম্যাজেন্টো কমার্স 1.14.3.9 এ আপগ্রেড করুন।

ম্যাজেন্টো ওপেন সোর্স 1.5.0.0-0-1.9.3.9: সুপারি -10752 বা ম্যাজেন্টো ওপেন সোর্স 1.9.3.9 এ আপগ্রেড করুন।


ইস্যুটি এখানে বিশদ বিবরণ সহ মুখোমুখি হয়েছিল - magento.stackexchange.com/questions/248229/…
শ্রেনিক

উত্তর:


19

ম্যাজেন্টো দ্বারা সরকারী দস্তাবেজ হিসাবে উল্লেখ করা হয়েছে :

প্যাচ SUPEE-10752 ইনস্টলের সময় দ্বন্দ্বগুলি প্রায়শই প্রায়শই পূর্ববর্তী প্যাচটি ইনস্টল করা হয়ে থাকে ( SUPEE-10570v1 )।

নতুন SUPEE-10752 ইনস্টল করার আগে দয়া করে SUPEE-10570v1 সরিয়ে SUPEE-10570v2 ইনস্টল করার বিষয়টি নিশ্চিত করুন


11

প্যাচ প্রয়োগের পরে নীচের ফাইলগুলি পরিবর্তন / তৈরি করা হয়

app/code/core/Mage/Admin/Model/User.php
app/code/core/Mage/Adminhtml/Block/Catalog/Product/Composite/Fieldset/Options.php
app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Options/Option.php
app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Datetime.php
app/code/core/Mage/Adminhtml/Model/LayoutUpdate/Validator.php
app/code/core/Mage/Adminhtml/controllers/Catalog/CategoryController.php
app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php
app/code/core/Mage/Adminhtml/controllers/Cms/Wysiwyg/ImagesController.php
app/code/core/Mage/Adminhtml/controllers/Cms/WysiwygController.php
app/code/core/Mage/Adminhtml/controllers/CustomerController.php
app/code/core/Mage/Adminhtml/controllers/System/StoreController.php
app/code/core/Mage/Catalog/Model/Product.php
app/code/core/Mage/Catalog/Model/Resource/Category/Tree.php
app/code/core/Mage/Checkout/Model/Api/Resource/Customer.php
app/code/core/Mage/Checkout/Model/Type/Onepage.php
app/code/core/Mage/Checkout/controllers/CartController.php
app/code/core/Mage/Core/Helper/Http.php
app/code/core/Mage/Core/Model/Session/Abstract/Varien.php
app/code/core/Mage/Customer/Helper/Data.php
app/code/core/Mage/Customer/Model/Resource/Customer.php
app/code/core/Mage/Customer/controllers/AccountController.php
app/code/core/Mage/Log/Model/Visitor.php
app/code/core/Mage/Usa/Helper/Data.php
app/code/core/Mage/Usa/Model/Shipping/Carrier/Abstract/Backend/Abstract.php
app/code/core/Mage/Usa/Model/Shipping/Carrier/Ups/Backend/Freemethod.php
app/code/core/Mage/Usa/Model/Shipping/Carrier/Ups/Backend/OriginShipment.php
app/code/core/Mage/Usa/Model/Shipping/Carrier/Ups/Backend/Type.php
app/code/core/Mage/Usa/etc/system.xml
app/code/core/Zend/Filter/PregReplace.php
app/code/core/Zend/Validate/EmailAddress.php
app/design/adminhtml/default/default/template/bundle/product/edit/bundle/option.phtml

app/design/adminhtml/default/default/template/system/shipping/ups.phtml
app/design/frontend/base/default/template/downloadable/catalog/product/links.phtml
app/design/frontend/base/default/template/downloadable/checkout/cart/item/default.phtml
app/design/frontend/base/default/template/downloadable/checkout/onepage/review/item.phtml
app/design/frontend/base/default/template/downloadable/sales/order/items/renderer/downloadable.phtml
app/design/frontend/rwd/default/template/downloadable/checkout/cart/item/default.phtml
app/design/frontend/rwd/default/template/downloadable/checkout/onepage/review/item.phtml
app/design/frontend/rwd/default/template/downloadable/sales/order/items/renderer/downloadable.phtml
app/locale/en_US/Mage_Catalog.csv
app/locale/en_US/Mage_Usa.csv
cron.php
js/tiny_mce/plugins/media/.htaccess
lib/Varien/Image/Adapter/Gd2.php

EE সংস্করণের জন্য নীচের ফাইলগুলি সিই ব্যতীত যুক্ত করা হয়েছে

app/code/core/Enterprise/CatalogEvent/Block/Adminhtml/Event/Grid.php
app/code/core/Enterprise/GiftRegistry/Block/Adminhtml/Giftregistry/Edit/Attribute/Attribute.php
app/code/core/Enterprise/GiftRegistry/Model/Attribute/Processor.php
app/code/core/Enterprise/Invitation/Block/Adminhtml/Invitation/Grid.php
app/code/core/Enterprise/Logging/Block/Adminhtml/Details/Renderer/Diff.php
app/code/core/Enterprise/Reward/Block/Adminhtml/Customer/Edit/Tab/Reward/History/Grid/Column/Renderer/Reason.php
app/code/core/Enterprise/TargetRule/Model/Rule.php
app/code/core/Enterprise/TargetRule/controllers/Adminhtml/TargetruleController.php
app/design/adminhtml/default/default/template/enterprise/cms/page/revision/info.phtml

app/design/frontend/enterprise/default/template/cms/hierarchy/pagination.phtml
app/design/frontend/enterprise/iphone/template/downloadable/checkout/cart/item/default.phtml
app/design/frontend/enterprise/iphone/template/downloadable/checkout/onepage/review/item.phtml
app/design/frontend/rwd/enterprise/template/cms/hierarchy/pagination.phtml

অ্যাপ্লিকেশন / কোড / কোর / পুরোনো যাদুকর / প্রশাসক / মডেল / User.php

+            $sessionUser = $this->getSession()->getUser();
+            if ($sessionUser && $sessionUser->getId() == $this->getId()) {
+                $this->getSession()->setUserPasswordChanged(true);
+            }


+    /**
+     * @return Mage_Admin_Model_Session
+     */
+    protected function getSession()
+    {
+        return  Mage::getSingleton('admin/session');
+    }
+

অ্যাপ্লিকেশন / কোড / কোর / পুরোনো যাদুকর / Adminhtml / ব্লক / উইজেট / গ্রিড / কলাম / ফিল্টার / Datetime.php

                     $this->getLocale()->getDateTimeFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT)
                 );
             }
-            return $value;
+            return $this->escapeHtml($value);
         }

-        return parent::getEscapedValue($index);
+        return $this->escapeHtml(parent::getEscapedValue($index));
     }
-
 }

অ্যাপ্লিকেশন / কোড / কোর / পুরোনো যাদুকর / Adminhtml / কন্ট্রোলার / ক্যাটালগ / CategoryController.php

+            if (isset($data['general']['path'])) {
+                unset($data['general']['path']);
+            }

অ্যাপ্লিকেশন / কোড / কোর / পুরোনো যাদুকর / Adminhtml / কন্ট্রোলার / ক্যাটালগ / ProductController.php

+                $product->validate();

অ্যাপ্লিকেশন / কোড / কোর / পুরোনো যাদুকর / Adminhtml / কন্ট্রোলার / সিএমএস / WYSIWYG / ImagesController.php

+            $this->getResponse()->setHeader('Content-type', $image->getMimeTypeWithOutFileType());

অ্যাপ্লিকেশন / কোড / কোর / পুরোনো যাদুকর / Adminhtml / কন্ট্রোলার / সিএমএস / WysiwygController.php

+        $this->getResponse()->setHeader('Content-type', $image->getMimeTypeWithOutFileType());

অ্যাপ্লিকেশন / কোড / কোর / পুরোনো যাদুকর / Adminhtml / কন্ট্রোলার / CustomerController.php

+                    $customer->setPasswordCreatedAt(time());

অ্যাপ্লিকেশন / কোড / কোর / পুরোনো যাদুকর / Adminhtml / কন্ট্রোলার / সিস্টেম / StoreController.php

+   /**
+     * Controller predispatch method
+     *
+     * @return Mage_Adminhtml_Controller_Action
+     */
+    public function preDispatch()
+    {
+        $this->_setForcedFormKeyActions(array('deleteWebsitePost', 'deleteGroupPost', 'deleteStorePost'));
+        return parent::preDispatch();
+    }

অ্যাপ্লিকেশন / কোড / কোর / পুরোনো যাদুকর / ক্যাটালগ / মডেল / Product.php

+                        if (!empty($option['file_extension'])) {
+                            $fileExtension = $option['file_extension'];
+                            if (0 !== strcmp($fileExtension, Mage::helper('core')->removeTags($fileExtension))) {
+                                Mage::throwException(Mage::helper('catalog')->__('Invalid custom option(s).'));
+                            }
+                        }

অ্যাপ্লিকেশন / কোড / কোর / পুরোনো যাদুকর / ক্যাটালগ / মডেল / রিসোর্স / শ্রেণী / Tree.php

+            if (!preg_match("#^[0-9\/]+$#", $item['path'])) {
+                $item['path'] = '';
+            }

অ্যাপ্লিকেশন / কোড / কোর / পুরোনো যাদুকর / চেকআউট / মডেল / API / রিসোর্স / Customer.php

+        $customer->setPasswordCreatedAt(time());

যে কেউ onepage.php ফাইলকে ওভাররাইড করে দয়া করে ফাইলটি আপডেট করুন।

অ্যাপ্লিকেশন / কোড / কোর / পুরোনো যাদুকর / চেকআউট / মডেল / প্রকার / Onepage.php

  +        $passwordCreatedTime = $this->_checkoutSession->getData('_session_validator_data')['session_expire_timestamp']
    +            - Mage::getSingleton('core/cookie')->getLifetime();
    +        $customer->setPasswordCreatedAt($passwordCreatedTime);

কী বৈধতা যাচাই করার জন্য দয়া করে আপনার কার্ট ফর্ম ফর্ম কী আছে তা পরীক্ষা করুন

অ্যাপ্লিকেশন / কোড / কোর / পুরোনো যাদুকর / চেকআউট / কন্ট্রোলার / CartController.php

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

অ্যাপ্লিকেশন / কোড / কোর / পুরোনো যাদুকর / কোর / সাহায্যকারী / Http.php

-                if ($this->_getRequest()->getServer($var, false)) {
+                if ($var != 'REMOTE_ADDR' && $this->_getRequest()->getServer($var, false)) {

+        if (strpos($this->_remoteAddr, ',') !== false) {
+            $ipList = explode(',', $this->_remoteAddr);
+            $this->_remoteAddr = trim(reset($ipList));
+        }
+

অ্যাপ্লিকেশন / কোড / কোর / পুরোনো যাদুকর / কোর / মডেল / সেশন / সারাংশ / Varien.php

+    const VALIDATOR_PASSWORD_CREATE_TIMESTAMP   = 'password_create_timestamp';

+    /**
+     * Use password creation timestamp in validator key
+     *
+     * @return bool
+     */
+    public function useValidateSessionPasswordTimestamp()
+    {
+        return true;
+    }
+

+        if ($this->useValidateSessionPasswordTimestamp()
+            && isset($validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP])
+            && isset($sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP])
+            && $validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP]
+            > $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] - $this->getCookie()->getLifetime()
+        ) {
+            return false;
+        }

+        if (isset($this->_data['visitor_data']['customer_id'])) {
+            $parts[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP] =
+                Mage::helper('customer')->getPasswordTimestamp($this->_data['visitor_data']['customer_id']);
+        }
+

অ্যাপ্লিকেশন / কোড / কোর / পুরোনো যাদুকর / গ্রাহক / সাহায্যকারী / Data.php

+    /**
+     * Get customer password creation timestamp or customer account creation timestamp
+     *
+     * @param $customerId
+     * @return int
+     */
+    public function getPasswordTimestamp($customerId)
+    {
+        /** @var $customer Mage_Customer_Model_Customer */
+        $customer = Mage::getModel('customer/customer')
+            ->setWebsiteId(Mage::app()->getStore()->getWebsiteId())
+            ->load((int)$customerId);
+        $passwordCreatedAt = $customer->getPasswordCreatedAt();
+
+        return is_null($passwordCreatedAt) ? $customer->getCreatedAtTimestamp() : $passwordCreatedAt;
+    }
+

অ্যাপ্লিকেশন / কোড / কোর / পুরোনো যাদুকর / গ্রাহক / মডেল / রিসোর্স / Customer.php

-        $customer->setPassword($newPassword);
+        $customer->setPassword($newPassword)->setPasswordCreatedAt(time());
+        $this->saveAttribute($customer, 'password_created_at');
app/code/core/Mage/Customer/controllers/AccountController.php

+                $customer->setPasswordCreatedAt(time());



-        if (!$this->getCustomerId() && $customer = $observer->getEvent()->getCustomer()) {
+        if ($customer = $observer->getEvent()->getCustomer()) {

> app/code/core/Mage/Log/Model/Visitor.php

    -        if (!$this->getCustomerId() && $customer = $observer->getEvent()->getCustomer()) {
    +        if ($customer = $observer->getEvent()->getCustomer()) {

অ্যাপ্লিকেশন / কোড / কোর / পুরোনো যাদুকর / মার্কিন / সাহায্যকারী / Data.php

+
+    /**
+     * Validate ups type value
+     *
+     * @param $valueForCheck string ups type value for check
+     *
+     * @return bool
+     */
+    public function validateUpsType($valueForCheck) {
+        $result = false;
+        $sourceModel = Mage::getSingleton('usa/shipping_carrier_ups_source_type');
+        foreach ($sourceModel->toOptionArray() as $allowedValue) {
+            if (isset($allowedValue['value']) && $allowedValue['value'] == $valueForCheck) {
+                $result = true;
+                break;
+            }
+        }
+        return $result;
+    }
 }

cron.php

cron.php: cron.php ফাইলে ব্যতিক্রম হ্যান্ডেল

-Mage::app('admin')->setUseSessionInUrl(false);
+try {
+    Mage::app('admin')->setUseSessionInUrl(false);
+} catch (Exception $e) {
+    Mage::printException($e);
+    exit;
+}

lib / অনুপস্থিত Varien / image / অ্যাডাপটর / Gd2.php

জিডি 2: রিয়েল মাইম টাইপটি রিটার্ন করুন।

+        header("Content-type: ".$this->getMimeTypeWithOutFileType());

+
+    /**
+     * Gives real mime-type with not considering file type field
+     *
+     * @return string
+     */
+    public function getMimeTypeWithOutFileType()
+    {
+        return $this->_fileMimeType;
+    }
 }

JS / tiny_mce / plugins / এখানে মিডিয়া / .htaccess

আপনি যদি অ্যাপাচের পরিবর্তে এনজিনেক্স ব্যবহার করেন তবে এই পরিবর্তনটি সদৃশ করতে আপনার কনফিগারেশনটি আপডেট করেছেন তা নিশ্চিত করুন।

+<IfModule mod_rewrite.c>
+    <Files moxieplayer.swf>
+        RewriteEngine on
+        RewriteCond %{QUERY_STRING} !^$
+        RewriteRule ^(.*)$ %{REQUEST_URI}? [R=301,L]
+    </Files>
+</IfModule>

অ্যাপ্লিকেশন / ডিজাইন / adminhtml / ডিফল্ট / ডিফল্ট / টেমপ্লেট / সিস্টেম / জাহাজীকরণ / ups.phtml

+if (!in_array($storedOriginShipment, array_keys($orShipArr))) {
+    $storedOriginShipment = '';
+}

+if ($storedFreeShipment != '' && !in_array($storedFreeShipment, array_keys($defShipArr))) {
+    $storedFreeShipment = '';
+}

+if (!Mage::helper('usa')->validateUpsType($storedUpsType)) {
+    $storedUpsType = '';
+}

শিপিং পদ্ধতিতে নতুন যুক্ত হওয়া / আপডেট হওয়া ফাইলগুলি হ'ল:

app/code/core/Mage/Usa/Helper/Data.php
app/code/core/Mage/Usa/Model/Shipping/Carrier/Abstract/Backend/Abstract.php
app/code/core/Mage/Usa/Model/Shipping/Carrier/Ups/Backend/Freemethod.php
app/code/core/Mage/Usa/Model/Shipping/Carrier/Ups/Backend/OriginShipment.php
app/code/core/Mage/Usa/Model/Shipping/Carrier/Ups/Backend/Type.php

Escapehtml ফাইল:

ডাউনলোডযোগ্য পণ্য ফ্রন্টএন্ড ফাইল: যে কেউ ডাউনলোডযোগ্য পণ্য ব্যবহার করছেন দয়া করে আপনার থিম ফাইলগুলিতে ফাইল আপডেট করুন।

অ্যাপ্লিকেশন / ডিজাইন / ফ্রন্টএন্ড / বেস / ডিফল্ট / টেমপ্লেট / ডাউনলোডযোগ্য / ক্যাটালগ / পণ্য / links.phtml

কোড চেক করুন

<dt><label<?php if ($_isRequired) echo ' class="required"' ?>><?php if ($_isRequired) echo '<em>*</em>' ?><?php echo
    > $this->getLinksTitle() ?></label></dt>

প্রতিস্থাপন

<dt><label<?php if ($_isRequired) echo ' class="required"' ?>><?php if ($_isRequired) echo '<em>*</em>' ?><?php echo
    > $this->escapeHtml($this->getLinksTitle()); ?></label></dt>

অ্যাপ্লিকেশন / ডিজাইন / ফ্রন্টএন্ড / বেস / ডিফল্ট / টেমপ্লেট / ডাউনলোডযোগ্য / চেকআউট / কার্ট / আইটেম / default.phtml

কোড চেক করুন

<dt><?php echo $this->getLinksTitle() ?></dt>

প্রতিস্থাপন

 <dt><?php echo $this->escapeHtml($this->getLinksTitle()); ?></dt>

অ্যাপ্লিকেশন / ডিজাইন / ফ্রন্টএন্ড / বেস / ডিফল্ট / টেমপ্লেট / ডাউনলোডযোগ্য / বিক্রয় / অর্ডার / আইটেম / রেন্ডারার / downloadable.phtml

কোড চেক করুন

<dt><?php echo $this->getLinksTitle() ?></dt>

প্রতিস্থাপন

<dt><?php echo $this->escapeHtml($this->getLinksTitle()); ?></dt>

অ্যাপ্লিকেশন / ডিজাইন / ফ্রন্টএন্ড / ডিফল্ট / iPhone / টেমপ্লেট / ডাউনলোডযোগ্য / চেকআউট / কার্ট / আইটেম / default.phtml

কোড চেক করুন

<dt><?php echo $this->getLinksTitle() ?></dt>

প্রতিস্থাপন

<dt><?php echo $this->escapeHtml($this->getLinksTitle()); ?></dt>

অ্যাপ্লিকেশন / ডিজাইন / অগ্রণী / ডিফল্ট / আইফোন / টেমপ্লেট / ডাউনলোডযোগ্য / চেকআউট / অনপেজ / পর্যালোচনা / আইটেম.এফটিএমএল চেক কোড

`<dt><?php echo $this->getLinksTitle() ?></dt>`

প্রতিস্থাপন

`<dt><?php echo $this->escapeHtml($this->getLinksTitle()); ?></dt>`

অ্যাপ্লিকেশন / নকশা / সম্মুখভাগ / আরডাব্লুডি / ডিফল্ট / টেম্পলেট / ডাউনলোডযোগ্য / চেকআউট / কার্ট / আইটেম / ডিফল্ট.পিএইচটিএম চেক কোড

`<dt><?php echo $this->getLinksTitle() ?></dt>`

প্রতিস্থাপন

`<dt><?php echo $this->escapeHtml($this->getLinksTitle()); ?></dt>`

অ্যাপ্লিকেশন / ডিজাইন / ফ্রন্টএন্ড / rwd / ডিফল্ট / টেমপ্লেট / ডাউনলোডযোগ্য / চেকআউট / onepage / পর্যালোচনা / item.phtml

কোড চেক করুন

<dt><?php echo $this->getLinksTitle() ?></dt>

প্রতিস্থাপন

<dt><?php echo $this->escapeHtml($this->getLinksTitle()); ?></dt>

অ্যাপ্লিকেশন / ডিজাইন / ফ্রন্টএন্ড / rwd / ডিফল্ট / টেমপ্লেট / ডাউনলোডযোগ্য / বিক্রয় / অর্ডার / আইটেম / রেন্ডারার / downloadable.phtml

কোড চেক করুন

<dt><?php echo $this->getLinksTitle() ?></dt>

প্রতিস্থাপন

<dt><?php echo $this->escapeHtml($this->getLinksTitle()); ?></dt>

অন্যান্য Escapehtml ফাইল:

অ্যাপ্লিকেশন / কোড / কোর / পুরোনো যাদুকর / Adminhtml / ব্লক / ক্যাটালগ / পণ্য / কম্পোজিট / Fieldset / Options.php

+        if (!empty($option['file_extension'])) {
+            $option['file_extension'] = $this->escapeHtml($option['file_extension']);
+        }

অ্যাপ্লিকেশন / কোড / কোর / পুরোনো যাদুকর / Adminhtml / ব্লক / ক্যাটালগ / পণ্য / সম্পাদনা / ট্যাব / বিকল্পসমূহ / Option.php

-                    $value['file_extension'] = $option->getFileExtension();
+                    $value['file_extension'] = $this->escapeHtml($option->getFileExtension());

অ্যাপ্লিকেশন / ডিজাইন / ফ্রন্টএন্ড / এন্টারপ্রাইজ / ডিফল্ট / টেমপ্লেট / CMS / অনুক্রমের / pagination.phtml

-    <li><a title="<?php echo $this->escapeHtml($node->getLabel())?>" href="<?php echo $node->getUrl()?>"><?php echo $this->getNodeLabel($node)?></a></li>

+    <li><a title="<?php echo $this->escapeHtml($node->getLabel())?>" href="<?php echo $node->getUrl()?>"><?php echo $this->escapeHtml($this->getNodeLabel($node)); ?></a></li>

অ্যাপ / কোড / কোর / ম্যাজ / চেকআউট / নিয়ন্ত্রক / কার্টকন্ট্রোলআরপিপি, চেকআউটে কোন পৃষ্ঠায় আপনি সাধারণত ফর্ম-কী ত্রুটি দেখতে পাচ্ছেন?
আইকন

1
আমি কোনও ফর্ম কী ত্রুটি দেখতে পাচ্ছি না। যদি কেউ ডিফল্ট / টেম্পলেট / চেকআউট / কার্ট.এফটিএমএল ফাইল এবং মিস করা ফর্মকিটিকে ওভাররাইড করে। এটি ত্রুটির মাধ্যমে নয় হোম পেজ পুনর্নির্দেশের মাধ্যমে হবে। এটি একটি চেকলিস্ট। যদি কোনও ত্রুটি দেখা দেয় তবে দয়া করে ফর্ম কীটি পরীক্ষা করুন :)। প্রশ্ন জিজ্ঞাসার জন্য ধন্যবাদ :)
রামা চন্দ্রন এম

1
আমি মনে করি না যে এখানে সমস্ত প্যাচ ডিফগুলি পোস্ট করা খুব দরকারী। আমি প্রকৃত সম্ভাব্য ইস্যুতে আরও আগ্রহী ...
ইচ

1
আপনার মন্তব্যের জন্য ধন্যবাদ। আমি মনে করি এটি অন্যদের জন্য দরকারী কারণ ফাইলগুলি কী পরিবর্তন হয়েছে এবং মূল কোড পরিবর্তনগুলি কী তা সহজেই খুঁজে পাওয়া যায়। উদাহরণস্বরূপ অ্যাপ্লিকেশন / ডিজাইন / ফ্রন্টএন্ড / আরডাব্লু / ডিফল্ট / টেমপ্লেট / ডাউনলোডযোগ্য / চেকআউট / অনপেজ / পর্যালোচনা / আইটেম.এফটিএমটিএল ধরুন আমরা আপনার থিমটিতে ওভাররাইড করলে কেবল কোড ইজিআই পরিবর্তন করি এটি আরও চেকলিস্টের মতো।
রমা চন্দ্রন এম

8

ওভারলোড হওয়া filterপদ্ধতিতে পরিবর্তনটি Zend_Filter_PregReplaceনিষ্পাপ এবং এটি ধরে নেওয়া যায় যে $this->_matchPatternসর্বদা একটি স্ট্রিং। এই সম্পত্তিটি পরবর্তী সময়ে প্রথম যুক্তি হিসাবে সরবরাহ করা হয় preg_replace। বাস্তবে, একটি অ্যারেও পুরোপুরি বৈধ যুক্তি। এই সত্যটি বাস্তবে একাধিক মূল Zend_Filterশ্রেণি দ্বারা ব্যবহৃত হয় (যেমন Zend_Filter_Word_SeparatorToCamelCase)। সুতরাং কোডের যে কোনও এক্সটেনশন / শাখা যা এই ফিল্টারটি ব্যবহার করে বা এর একটি ডেরাইভেটিভস এর অ্যারে যুক্তি সহ _matchPattern, ছুঁড়ে দেওয়া শুরু করবে Warning: substr() expects parameter 1 to be a string, array given

এটি কী করা উচিত তার একটি অশোধিত উদাহরণ হ'ল লাইনগুলি বরাবর কিছু হতে পারে:

/**
 * Perform regexp replacement as filter
 *
 * @param  string $value
 * @return string
 */
public function filter($value)
{
    if ($this->_matchPattern == null) {
        #require_once 'Zend/Filter/Exception.php';
        throw new Zend_Filter_Exception(get_class($this) . ' does not have a valid MatchPattern set.');
    }

    $patterns = is_array($this->_matchPattern) ? $this->_matchPattern : array($this->_matchPattern);
    foreach ($patterns as $pattern) {
        if ($this->_containsEvalModifier($pattern)) {
            throw new Zend_Filter_Exception(get_class($this) . ' uses deprecated modifier "/e".');
        }
    }

    return preg_replace($this->_matchPattern, $this->_replacement, $value);
}

/**
 * Check if the modifiers contains the eval flag.
 *
 * @param  string $value
 * @return bool
 */
protected function _containsEvalModifier($pattern)
{
    $firstDelimiter = substr($pattern, 0, 1);
    $partsOfRegex = explode($firstDelimiter, $pattern);
    $modifiers = array_pop($partsOfRegex);

    return ($modifiers != str_replace('e', '', $modifiers));
}

যদিও আমি এখনও এটির কোনও পুঙ্খানুপুঙ্খ পরীক্ষা করিনি।

সম্পাদনা: এটি লক্ষ্য করার মতো, যেহেতু উপরের প্রস্তাবিত সমাধানটির ত্রুটিগুলি রোধ করা উচিত, বাস্তবায়ন প্রযুক্তিগতভাবে এখনও কিছুটা নির্বোধ এবং মিথ্যা ইতিবাচক হওয়ার ঝুঁকির মধ্যে রয়েছে। এটি ধরে নেওয়া হয় যে মোডেফায়ারগুলি থেকে প্যাটার্নটি পৃথককারী রেজেক্স ডিলিমিটারটি স্ট্রিংয়ের শুরুতে একইরকম। প্রযুক্তিগতভাবে এটি হওয়ার দরকার নেই যেহেতু পিএইচপি বিভিন্ন বন্ধনী শৈলীর ডিলিমিটরকে সমর্থন করে। সুতরাং বৈধ ইনপুটটি {hello}isসংশোধনকারীদের hello}is(প্রকৃত সংশোধকদের চেয়ে বরং is) নির্ধারণ করবে এবং এইভাবে প্যাটার্নটি eসংশোধককে অন্তর্ভুক্ত না করেও একটি ব্যতিক্রম ছুঁড়ে ফেলবে ।


5

১..0.০.২ সংস্করণ ইস্যু: প্যাচটি ইনস্টল করার পরে একটি পৃষ্ঠার চেকআউট (জেনেরিক ম্যাজেন্টো চেকআউট) এ যান, এই ত্রুটিটি পান

বিশ্লেষণ ত্রুটি: বাক্যগঠন ত্রুটি, অপ্রত্যাশিত

অ্যাপ্লিকেশন / কোড / কোর / ম্যাজ / চেকআউট / মডেল / প্রকার / অনিপেজ.এফপি 691 লাইনে

প্যাচটি বিপরীত করা, ত্রুটি অদৃশ্য হয়ে যায়।

এই প্রশ্নের গভীরতর দিকে তাকান, আমি প্যাচটি onepage.php ফাইলে নিম্নলিখিত লাইনটি যুক্ত করে পেয়েছি।

$passwordCreatedTime = $this->_checkoutSession->getData('_session_validator_data')['session_expire_timestamp']
            - Mage::getSingleton('core/cookie')->getLifetime();
        $customer->setPasswordCreatedAt($passwordCreatedTime);

সমাধান: @ ফ্যাবিয়ানশ্মেনলারের ধন্যবাদ

পিএইচপি সংস্করণ 5.4 এবং আপ আপডেট করুন!


আমি প্যাচটিও মূল প্রয়োগ করেছি এটি হ'ল $ passwordCreatedTime = $ এটি -> _ চেকআউটসেশন-> getData ('_ সেশন_ডিয়ালিটার_ডাটা') ['সেশন_এক্সপায়ার_টাইমস্ট্যাম্প'] - ম্যাজ :: getSingleton ('কোর / কুকি') -> getLiftime (); পরবর্তী লাইন (নতুন লাইন তৈরি / যুক্ত) - ম্যাজ :: getSingleton ('কোর / কুকি') -> getLifetime (); সমস্যার কারণ তৈরি
রাম চন্দ্রন এম

নিবন্ধন করুন আপনি কি একই পার্স ত্রুটি পেয়েছেন? এছাড়াও আপনি কোন সংস্করণ ব্যবহার করছেন?
আইকন

1
হ্যাঁ আমি অন্য প্রকল্পটি যাচাই করব এবং আরও বিশদ সরবরাহ করব উত্তর :)
রামা চন্দ্রন এম

2
@ আইকনটিতে পিএইচপি 5.4 সামঞ্জস্যের জন্য একটি প্যাচ ছিল। আমি দীর্ঘ সময়ের জন্য কোনও 1.7 ইনস্টলেশন স্পর্শ করি নি, তবে এটি 5.6-তেও কাজ করবে বলে আশা করব, চেষ্টা করে দেখুন।
ফ্যাবিয়ান শেমংলার

1
@ আইকন আপনি আপাতত অবমূল্যায়নের বিজ্ঞপ্তিগুলি উপেক্ষা করতে পারেন, আপনি পিএইচপি 7-এ আপডেট করার সময় এটি প্রাসঙ্গিক হয়ে উঠবে
ফ্যাবিয়ান শেমংলার

2

জ্ঞাত সমস্যা: -

যদি আপনার কাস্টম কোড বা এক্সটেনশানটি Zend/Filter/PregReplace.phমডিফায়ার ই এর সাথে পি ব্যবহার করছে তবে এটি এখন আরসিইয়ের সম্ভাব্য সমস্যার কারণে একটি ত্রুটি ফিরিয়ে দেবে।

এই প্যাচটি সুরক্ষা অনুসরণ করে।

1) অতিরিক্ত অ্যাডমিন সেশন বৈধতা পাসওয়ার্ড পরিবর্তন

+++ app/code/core/Mage/Admin/Model/User.php

+            $sessionUser = $this->getSession()->getUser();
+            if ($sessionUser && $sessionUser->getId() == $this->getId()) {
+                $this->getSession()->setUserPasswordChanged(true);
+            }

এবং তারপর

+    /**
+     * @return Mage_Admin_Model_Session
+     */
+    protected function getSession()
+    {
+        return  Mage::getSingleton('admin/session');
+    }
+

class Mage_Admin_Model_User

+        $oldPassword = $this->getPassword();
     $this->setId(null);
     $this->load($id);
+        $isUserPasswordChanged = $this->getSession()->getUserPasswordChanged();
+        if ($this->getPassword() !== $oldPassword && !$isUserPasswordChanged) {
+            $this->setId(null);
+        } elseif ($isUserPasswordChanged) {
+            $this->getSession()->setUserPasswordChanged(false);
+        }

2) ফাইল এক্সটেনশন বৈধতা

app/code/core/Mage/Adminhtml/Block/Catalog/Product/Composite/Fieldset/Options.php

+        if (!empty($option['file_extension'])) {
+            $option['file_extension'] = $this->escapeHtml($option['file_extension']);
+        }

app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Options/Option.php app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Options/Option.php

-                    $value['file_extension'] = $option->getFileExtension();
+                    $value['file_extension'] = $this->escapeHtml($option->getFileExtension());

app/code/core/Mage/Catalog/Model/Product.php

+                        if (!empty($option['file_extension'])) {
+                            $fileExtension = $option['file_extension'];
+                            if (0 !== strcmp($fileExtension, Mage::helper('core')->removeTags($fileExtension))) {
+                                Mage::throwException(Mage::helper('catalog')->__('Invalid custom option(s).'));
+                            }
+                        }

3) এসএসপি এইচটিএমএল এক্সএসএসের জন্য যুক্ত করা হয়েছে

+++ app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Datetime.php

-            return $value;
+            return $this->escapeHtml($value);
     }

-        return parent::getEscapedValue($index);
+        return $this->escapeHtml(parent::getEscapedValue($index));

app/design/frontend/base/default/template/downloadable/catalog/product/links.phtml

-        <dt><label<?php if ($_isRequired) echo ' class="required"' ?>><?php if ($_isRequired) echo '<em>*</em>' ?><?php echo $this->getLinksTitle() ?></label></dt>
+        <dt><label<?php if ($_isRequired) echo ' class="required"' ?>><?php if ($_isRequired) echo '<em>*</em>' ?><?php echo $this->escapeHtml($this->getLinksTitle()); ?></label></dt>

app/design/frontend/base/default/template/downloadable/checkout/cart/item/default.phtml

-            <dt><?php echo $this->getLinksTitle() ?></dt>
+            <dt><?php echo $this->escapeHtml($this->getLinksTitle()); ?></dt>

app/design/frontend/base/default/template/downloadable/checkout/onepage/review/item.phtml

-            <dt><?php echo $this->getLinksTitle() ?></dt>
+            <dt><?php echo $this->escapeHtml($this->getLinksTitle()); ?></dt>

app/design/frontend/base/default/template/downloadable/sales/order/items/renderer/downloadable.phtml

-            <dt><?php echo $this->getLinksTitle() ?></dt>
+            <dt><?php echo $this->escapeHtml($this->getLinksTitle()); ?></dt>

app/design/frontend/default/iphone/template/downloadable/checkout/onepage/review/item.phtml

-                <dt><?php echo $this->getLinksTitle() ?></dt>
+                <dt><?php echo $this->escapeHtml($this->getLinksTitle()); ?></dt>

app/design/frontend/rwd/default/template/downloadable/checkout/cart/item/default.phtml

-            <dt><?php echo $this->getLinksTitle() ?></dt>
+            <dt><?php echo $this->escapeHtml($this->getLinksTitle()); ?></dt>

app/design/frontend/rwd/default/template/downloadable/checkout/onepage/review/item.phtml

-            <dt><?php echo $this->getLinksTitle() ?></dt>
+            <dt><?php echo $this->escapeHtml($this->getLinksTitle()); ?></dt>

app/design/frontend/rwd/default/template/downloadable/sales/order/items/renderer/downloadable.phtml

-            <dt><?php echo $this->getLinksTitle() ?></dt>
+            <dt><?php echo $this->escapeHtml($this->getLinksTitle()); ?></dt>

4) লেআউট আপডেট চেক করার জন্য এক্সপথ এক্সপ্রেশন

app/code/core/Mage/Adminhtml/Model/LayoutUpdate/Validator.php

+    /**
+     * XPath expression for checking layout update
+     *
+     * @var array
+     */
+    protected $_disallowedXPathExpressions = array(
+        '*//template',
+        '*//@template',
+        '//*[@method=\'setTemplate\']',
+        '//*[@method=\'setDataUsingMethod\']//*[text() = \'template\']/../*'
+    );
+

Mage_Adminhtml_Model_LayoutUpdate_Validator

-        if ($templatePaths = $value->xpath('*//template | *//@template | //*[@method=\'setTemplate\']/*')) {
+        if ($templatePaths = $value->xpath($this->_getXpathValidationExpression())) {

Mage_Adminhtml_Model_LayoutUpdate_Validator

+    /**
+     * Returns xPath for validate incorrect path to template
+     *
+     * @return string xPath for validate incorrect path to template
+     */
+    protected function _getXpathValidationExpression() {
+        return implode(" | ", $this->_disallowedXPathExpressions);
+    }
+



+    /**
+     * Returns xPath for validate incorrect path to template
+     *
+     * @return string xPath for validate incorrect path to template
+     */
+    protected function _getXpathValidationExpression() {
+        return implode(" | ", $this->_disallowedXPathExpressions);
+    }
+

app/code/core/Mage/Catalog/Model/Resource/Category/Tree.php

+            if (!preg_match("#^[0-9\/]+$#", $item['path'])) {
+                $item['path'] = '';
+            }

5) কোনও বিভাগ সংরক্ষণ করার সময় প্রমানিত এসকিউএল ইঞ্জেকশন

app/code/core/Mage/Adminhtml/controllers/Catalog/CategoryController

+            if (isset($data['general']['path'])) {
+                unset($data['general']['path']);
+            }

6) পণ্য বৈধতা app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php

+                $product->validate();

7) মাইমটাইপ app/code/core/Mage/Adminhtml/controllers/Cms/Wysiwyg/ImagesController.php

+            $this->getResponse()->setHeader('Content-type', $image->getMimeTypeWithOutFileType());

app/code/core/Mage/Adminhtml/controllers/Cms/WysiwygController.php

+        $this->getResponse()->setHeader('Content-type', $image->getMimeTypeWithOutFileType());

lib/Varien/Image/Adapter/Gd2.php

-        header("Content-type: ".$this->getMimeType());
+        header("Content-type: ".$this->getMimeTypeWithOutFileType());


+
+    /**
+     * Gives real mime-type with not considering file type field
+     *
+     * @return string
+     */
+    public function getMimeTypeWithOutFileType()
+    {
+        return $this->_fileMimeType;
+    }

8) গ্রাহক পাসওয়ার্ড তৈরি app/code/core/Mage/Adminhtml/controllers/CustomerController.php

+                    $customer->setPasswordCreatedAt(time());

app/code/core/Mage/Checkout/Model/Api/Resource/Customer.php

+        $customer->setPasswordCreatedAt(time());

app/code/core/Mage/Checkout/Model/Type/Onepage.php

+        $passwordCreatedTime = $this->_checkoutSession->getData('_session_validator_data')['session_expire_timestamp']
+            - Mage::getSingleton('core/cookie')->getLifetime();
+        $customer->setPasswordCreatedAt($passwordCreatedTime);

app/code/core/Mage/Core/Model/Session/Abstract/Varien.php

+    const VALIDATOR_PASSWORD_CREATE_TIMESTAMP   = 'password_create_timestamp';


+    /**
+     * Use password creation timestamp in validator key
+     *
+     * @return bool
+     */
+    public function useValidateSessionPasswordTimestamp()
+    {
+        return true;
+    }


+        if ($this->useValidateSessionPasswordTimestamp()
+            && isset($validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP])
+            && isset($sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP])
+            && $validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP]
+            > $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] - $this->getCookie()->getLifetime()
+        ) {
+            return false;
+        }

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

+    /**
+     * Get customer password creation timestamp or customer account creation timestamp
+     *
+     * @param $customerId
+     * @return int
+     */
+    public function getPasswordTimestamp($customerId)
+    {
+        /** @var $customer Mage_Customer_Model_Customer */
+        $customer = Mage::getModel('customer/customer')
+            ->setWebsiteId(Mage::app()->getStore()->getWebsiteId())
+            ->load((int)$customerId);
+        $passwordCreatedAt = $customer->getPasswordCreatedAt();
+
+        return is_null($passwordCreatedAt) ? $customer->getCreatedAtTimestamp() : $passwordCreatedAt;
+    }
+

app/code/core/Mage/Customer/Model/Resource/Customer.php

-        $customer->setPassword($newPassword);
+        $customer->setPassword($newPassword)->setPasswordCreatedAt(time());
     $this->saveAttribute($customer, 'password_hash');
+        $this->saveAttribute($customer, 'password_created_at');

app/code/core/Mage/Customer/controllers/AccountController.php

+                $customer->setPasswordCreatedAt(time());

Mage_Customer_AccountController

+            $customer->setPasswordCreatedAt(time());
         $customer->save();

`

+                $customer->setPasswordCreatedAt(time());

app/code/core/Mage/Log/Model/Visitor.php

-        if (!$this->getCustomerId() && $customer = $observer->getEvent()->getCustomer()) {
+        if ($customer = $observer->getEvent()->getCustomer()) {

9) ইউপিএস পরিবর্তনসমূহ

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

+
+    /**
+     * Validate ups type value
+     *
+     * @param $valueForCheck string ups type value for check
+     *
+     * @return bool
+     */
+    public function validateUpsType($valueForCheck) {
+        $result = false;
+        $sourceModel = Mage::getSingleton('usa/shipping_carrier_ups_source_type');
+        foreach ($sourceModel->toOptionArray() as $allowedValue) {
+            if (isset($allowedValue['value']) && $allowedValue['value'] == $valueForCheck) {
+                $result = true;
+                break;
+            }
+        }
+        return $result;
+    }

ইউপিএসের জন্য ফাইলগুলি যুক্ত করুন

`app/code/core/Mage/Usa/Model/Shipping/Carrier/Abstract/Backend/Abstract.php` 
`app/code/core/Mage/Usa/Model/Shipping/Carrier/Ups/Backend/Freemethod.php`
`app/code/core/Mage/Usa/Model/Shipping/Carrier/Ups/Backend/OriginShipment.php`
`app/code/core/Mage/Usa/Model/Shipping/Carrier/Ups/Backend/Type.php`

এই নতুন চমত্কার জন্য সেটিং যোগ করা হয়েছে

app/code/core/Mage/Usa/etc/system.xml

+                            <backend_model>usa/shipping_carrier_ups_backend_freemethod</backend_model>

843 লাইন

+                            <backend_model>usa/shipping_carrier_ups_backend_originShipment</backend_model>

886

+                            <backend_model>usa/shipping_carrier_ups_backend_type</backend_model>

app/design/adminhtml/default/default/template/system/shipping/ups.phtml

+if (!in_array($storedOriginShipment, array_keys($orShipArr))) {
+    $storedOriginShipment = '';
+}
+if ($storedFreeShipment != '' && !in_array($storedFreeShipment, array_keys($defShipArr))) {
+    $storedFreeShipment = '';
+}
+if (!Mage::helper('usa')->validateUpsType($storedUpsType)) {
+    $storedUpsType = '';
+}
 ?>

10) জেন্ড ক্লাস যুক্ত

`app/code/core/Zend/Filter/PregReplace.php`
`app/code/core/Zend/Validate/EmailAddress.php`

1> 1) বান্ডিল পণ্য বৈধতা

app/design/adminhtml/default/default/template/bundle/product/edit/bundle/option.phtml

+    <?php $_selection->setSku($this->escapeHtml($_selection->getSku())); ?>

12) অ্যাডমিন সেশন cron.php এ চেষ্টা করুন

-Mage::app('admin')->setUseSessionInUrl(false);
+try {
+    Mage::app('admin')->setUseSessionInUrl(false);
+} catch (Exception $e) {
+    Mage::printException($e);
+    exit;
+}

2

প্যাচের অংশটি দেখে মনে হচ্ছে এইচটিএমএল সমস্ত "getLinksTitle ()" এড়িয়ে চলেছে। তবে তারা নিম্নলিখিত ফাইলগুলি ভুলে গেছেন (এটি 1.8.1 এর উপর ভিত্তি করে)।

app/design/frontend/base/default/template/downloadable/checkout/multishipping/item/downloadable.phtml

app/design/frontend/base/default/template/downloadable/email/order/items/creditmemo/downloadable.phtml

app/design/frontend/base/default/template/downloadable/email/order/items/invoice/downloadable.phtml

app/design/frontend/base/default/template/downloadable/email/order/items/order/downloadable.phtml

app/design/frontend/base/default/template/downloadable/sales/order/creditmemo/items/renderer/downloadable.phtml

app/design/frontend/base/default/template/downloadable/sales/order/invoice/items/renderer/downloadable.phtml

app/design/frontend/default/iphone/template/downloadable/sales/order/creditmemo/items/renderer/downloadable.phtml

app/design/frontend/default/iphone/template/downloadable/sales/order/invoice/items/renderer/downloadable.phtml

2

প্যাচ ভ্যানিলা ম্যাজেন্টো সিই 1.8.0.0 এ কাজ করে না

আপডেট: নীচে সমাধান যুক্ত করা হয়েছে।

সমস্যা:

file app/design/frontend/base/default/template/downloadable/sales/order/items/renderer/downloadable.phtml
Hunk #1 FAILED at 54.

পূর্ববর্তী প্যাচগুলি প্রয়োগ করা হয়েছে:

  • APPSEC-212
  • SUPEE-2619
  • SUPEE-2725
  • SUPEE-3941
  • SUPEE-5344
  • SUPEE-5994
  • SUPEE-6237
  • SUPEE-6285
  • SUPEE-6482
  • SUPEE-6788
  • SUPEE-7405
  • SUPEE-7405v.1.1
  • SUPEE-7616
  • SUPEE-8167
  • SUPEE-8788v2
  • SUPEE-8967
  • SUPEE-9652
  • SUPEE-9767v2
  • SUPEE-10336
  • SUPEE-10266
  • SUPEE-10415
  • SUPEE-10570v2

সমাধান

প্যাচ ফাইল সম্পাদনা করে স্থির। প্যাচের জন্য প্রতিস্থাপিত downloadable.phtmlজন্য প্যাচ থেকে একের পর v1.7.0.2মূল প্যাচ ফাইলের মধ্যে এই লাইন 1854-1862 হয়।

এটি মূলত ফাইলে ইন্ডেন্টেশন দেওয়ার কারণে। জন্য পরিবর্তন হিসাবে downloadable.phtmlমধ্যে V1.7.0.2আরো ইন্ডেন্টযুক্ত আছে।

সমাধান 2

আমারও একই সমস্যা ছিল, তবে আমি সম্পাদকের মূল ফাইলটি পুনরায় সেভ করে ঠিক করতে সক্ষম হয়েছি যা উইন্ডোজ স্টাইলের সিআরএলএফ বা ম্যাক সিআর এর নয়, লাইনটিকে ইউনিক্স স্টাইল এলএফ হতে বাধ্য করেছে forced


1

ম্যাট অ্যান্টলির প্রসঙ্গে, সম্ভবত তারা এর কারণে SUPEE-10570v2 অন্তর্ভুক্ত করেনি

ম্যাজেন্টোকে সম্প্রতি SUPEE-10570> এবং Magento সংস্করণ 1.9.3.8/1.14.3.8 উভয়ই নিয়ে একটি সমস্যা সম্পর্কে অবহিত করা হয়েছিল যা চেকআউট চলাকালীন নিবন্ধ করার সময় গ্রাহকদের চেকআউট সম্পূর্ণ করতে অক্ষম হতে পারে। ম্যাজেন্টো এখন একটি আপডেট প্যাচ সরবরাহ করছে (SUPEE-10570v2) যা আর এই সমস্যার কারণ হয় না। তবে নোট করুন, এই নতুন প্যাচটি আর> দুটি কম ঝুঁকির সেশন হ্যান্ডলিং-সম্পর্কিত সুরক্ষা ইস্যু থেকে সুরক্ষা দেয় যা SUPEE-10570 এর বিরুদ্ধে সুরক্ষিত আছে। https://magento.com/security/patches/supee-10570

আমি যতদূর জানি চেকআউট বাগটি খুব সাধারণ ছিল না এবং তাই তারা সুপারি -১ 10570০ এর সাথে থাকার সিদ্ধান্ত নিয়েছে যা দুটি কম ঝুঁকিপূর্ণ সুরক্ষা সমস্যার বিরুদ্ধে সুরক্ষিত করে ?!


+1 এটি সম্ভবত এটির কারণ, এখনও এটি লক্ষণীয় যে যদি ব্যবহারকারীরা আপগ্রেড হয় এবং আবেদন করতে হয় SUPEE-10570v2তবে তাদের এটি পুনরায় প্রয়োগ করতে হবে।
ম্যাট এন্টলি

পিটার ও'ক্যালাহান যেমন বলেছিলেন, 10570v2 থেকে পরিবর্তনগুলি 10752 দ্বারা উল্টানো হয়েছে সুতরাং প্রাক্তনটিকে অন্তর্ভুক্ত করার দরকার নেই। যেহেতু 1.9.3.9 এর জন্য 10570v2 নেই, তাই আপনাকে কিছু প্রয়োগ করার কথা নয়। পুরো যুক্তিটি দুর্বল: কেন ম্যাগেন্টো তার 1.9.3.9 শাখাটি অন্য সকলের চেয়ে আলাদা বেসে রাখবে? এমনকি তারা আরও বলেছে যে তারা প্রতিটি ভবিষ্যতের মুক্তি এবং 10570v2 তে প্যাচ করবে।
পং

মন্তব্য পিটার এবং পং জন্য ধন্যবাদ। আপনার উত্তর দু'জনেই যেহেতু বিভ্রান্তিমূলক, তা মুছে ফেলেছেন। এটি আমার নিবিড়তা ছিল না, এটি লেখার সময় আমি যে বিষয়টির মধ্য দিয়ে ভাবিনি SUPEE-10752সেগুলি ছিল এবং এটি এমন কিছু ছিল যা আমি একবার সংক্ষেপে লক্ষ্য করেছি এবং বন্দুকটি কিছুটা ঝাঁপিয়ে পড়েছিলাম । আবার, মন্তব্যের জন্য ধন্যবাদ।
ম্যাট এন্টলি

1

প্যাচ ভ্যানিলা ম্যাজেন্টো সিই 1.6.0.0 এ কাজ করে না

আপডেট: নীচে সমাধান যুক্ত করা হয়েছে।

সমস্যা:

file app/code/core/Mage/Admin/Model/User.php
Hunk #1 FAILED at 127.
...
file app/code/core/Mage/Customer/controllers/AccountController.php
Hunk #2 FAILED at 812.

পূর্ববর্তী প্যাচগুলি প্রয়োগ করা হয়েছে:

  • APPSEC-212
  • SUPEE-2631
  • SUPEE-2725
  • SUPEE-5344
  • SUPEE-5994
  • SUPEE-6237
  • SUPEE-6285
  • SUPEE-6482
  • SUPEE-6788
  • SUPEE-7405
  • SUPEE-7405v.1.1
  • SUPEE-8167
  • SUPEE-8788v2
  • SUPEE-8967
  • SUPEE-9652
  • SUPEE-9767v2
  • SUPEE-10266
  • SUPEE-10415
  • SUPEE-10570v2
  • SUPEE-10752

মীমাংসিত

প্যাচ ফাইল পরিবর্তন করে আমি এই সমস্যাটি সমাধান করেছি। আমি v1.5.1.0 জন্য প্যাচ থেকে অনুসারে সমস্যাগুলি দিয়েছিল এমন কুকুরটিকে প্রতিস্থাপন করেছি। মূল প্যাচ ফাইলে এগুলি 167-177 এবং 663-670 লাইন।


1

SUPEE-10752 প্রয়োগ করার পরে EE v1.14.2.4 এ, চেকআউটটি সাফল্যের পৃষ্ঠার পরিবর্তে হোমপেজে পুনঃনির্দেশ করে এমন সমস্যাটি ঠিক করতে আমাকে নীচের প্যাচটি প্রয়োগ করতে হয়েছিল:

ফাইল: অবৈধ_অ্যাসিশন_ফিক্স-2018-03-14-05-10-19.প্যাচ

diff --git a/app/code/core/Mage/Core/Model/Session/Abstract/Varien.php b/app/code/core/Mage/Core/Model/Session/Abstract/Varien.php
index 59b3ea8..35155f1 100644
--- a/app/code/core/Mage/Core/Model/Session/Abstract/Varien.php
+++ b/app/code/core/Mage/Core/Model/Session/Abstract/Varien.php
@@ -485,7 +485,7 @@ class Mage_Core_Model_Session_Abstract_Varien extends Varien_Object
             && isset($validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP])
             && isset($sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP])
             && $validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP]
-            > $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] - $this->getCookie()->getLifetime()
+            > $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP]
         ) {
             return false;
         }

উপরে ফিক্স পাওয়া যায় https://magento.com/tech-resources/download অধীনে SUPEE-10570 > invalid_session_fix.patch (0 মেগাবাইট)


এটি সিই ১.৯.৩..6-এও একই কাজ করে যখন পিএইচপি <5.5 হয়, ঠিক করার জন্য ধন্যবাদ
গানজান মেহতা

1

আমি এই প্যাচ পরে একটি সমস্যার সম্মুখীন হয়েছে। আমি "ইউপিএস টাইপ" "ইউনাইটেড পার্সেল সার্ভিস এক্সএমএল" এর জন্য "ফ্রি মেথড" সেট করতে পারি না। "ফ্রি মেথড" ড্রপ-ডাউন-এ কোনও পদ্ধতি নির্বাচন করা হলে ম্যাজেন্টো একটি ত্রুটি ফেলে দেয়। ত্রুটি: " ফিল্ড" আপস ফ্রি মেথড "এর ভ্যালু রয়েছে " "

কেউ কি একই সমস্যার মুখোমুখি হয়ে সমাধান পেয়েছেন?

আগাম ধন্যবাদ!


0

1.6-এ, ups.phtml প্যাচটি নষ্ট হয়ে গেছে। এটি উল্লেখ করা হচ্ছে $ StoreOriginShipment, $ storeFreeShipment যা 1.6 (ored স্টোরডরিনগিনশপমেন্ট এবং $ স্ট্রার্ডফ্রিশিপমেন্ট) টাইপ রয়েছে। তদতিরিক্ত এটি স্টোরডআপস টাইপ উল্লেখ করে যা 1.6-এ মোটেই বিদ্যমান নয় doesn't


0

1.9.1.0 এবং 1.9.2.4 এ আমরা সমস্যার মুখোমুখি হয়েছি (অন্যের উপর পরীক্ষা করা হয়নি) on এটি আমাদের সমস্ত প্রকল্পে প্রদর্শিত হয় না, তবে এটি বেশ কয়েকটিতে পুনরাবৃত্তি হয়েছে। আমরা মনে করি এটি সম্ভবত এমন প্রকল্পগুলিতে প্রভাব ফেলছে যেগুলিতে কোনও সময়ে SUPEE-10570v1 ইনস্টল করা আছে।

প্যাচ প্রয়োগের পরে, যদি কোনও ব্যবহারকারী লগ ইন করে তবে তারা তাদের অ্যাকাউন্ট পৃষ্ঠা পুরোপুরি সূক্ষ্ম দেখতে পাবে। তবে, তারা যদি সাইটের অন্য কোনও পৃষ্ঠায় ফিরে যাওয়ার চেষ্টা করেন, পৃষ্ঠাটি প্রতিক্রিয়া বন্ধ করবে এবং তারা ফাঁকা স্ক্রিন বা 502 ব্যাড গেটওয়ে দেখতে পাবে। এটি পিএইচপি একটি সীমাহীন লুপে চলে যাওয়ার কারণে এবং হয় সেগফোল্টিং বা এর .ini সেটিংস দ্বারা বন্ধ হয়ে গেছে।

আমি খনন যে সমস্যা লাইনে একটি অসীম recursion যে লোড হয় পরিচালিত থাকেন $customerমধ্যে \app\code\core\Mage\Customer\Helper\Data.php, getPasswordTimestamp()

$customer = Mage::getModel('customer/customer')
        ->setWebsiteId(Mage::app()->getStore()->getWebsiteId())
        ->load((int)$customerId);

অসীম পুনরাবৃত্তির স্ট্যাক ট্রেসের দিকে তাকানোর সময়, এটি বার বার এটিকে পিছনে ফেলে। একরকম, পদ্ধতিটি ->load()কল করে এটি শেষ বলে মনে হচ্ছে getPasswordTimestamp()

Https://magento.stackexchange.com/a/235984/67252 এ প্রদত্ত কাজের সূচনাটি দুর্দান্ত কাজ করে, তবে আমি কী হতে চাই তা জানতে চাই।


0

প্যাচ সুপারি 10752 প্রয়োগ করার পরে, নিবন্ধ করুন এবং চেকআউটটি হোমপৃষ্ঠায় সাফল্য পৃষ্ঠাটি নিচ্ছে। কোনও পরামর্শ?


-1

SUPEE-10752 প্রয়োগ করার পরে এবং সংকলনের পরে আমরা / চেকআউট / * এ একটি ফাঁকা পৃষ্ঠা দেখেছি

সংস্করণ: 1.9.1.0

ট্রিগারিং শর্ত: SUPEE-10752 + গ্রাহক হিসাবে সংকলক + লগইন সক্ষম করুন, তারপরে / চেকআউট / * এ যান

কেবল স্পষ্ট করতে: নিষ্ক্রিয় সংকলক সহ সমস্ত কিছু ভালভাবে চালিত হয়েছিল, সক্রিয় সংকলক সহ আমরা কেবল একটি ফাঁকা কার্ট পৃষ্ঠা দেখতে পেতাম যখন কোনও লগ এন্ট্রি ছাড়াই লগ ইন করা হত (সমস্ত সম্ভাব্য লগ এবং বিকাশকারী মোড সক্রিয় করার পরেও)।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.