: ইতিমধ্যেই উল্লেখ করা হয়েছে, তালি দুর্বলতা সরকারিভাবে এই পৃষ্ঠা (নতুন বণিক দস্তাবেজ) উপর বিস্তারিতভাবে বর্ণনা করা হয় http://merch.docs.magento.com/ce/user_guide/Magento_Community_Edition_User_Guide.html#magento/patch-releases-2015.html
সারাংশ
এই বান্ডিলটিতে নিম্নলিখিত সুরক্ষা-সম্পর্কিত সমস্যাগুলির বিরুদ্ধে সুরক্ষা রয়েছে:
- আরএসএস এবং প্রিভিলেজ বর্ধনের মাধ্যমে গ্রাহক তথ্য ফাঁস
- ম্যাজেন্টো কানেক্টে জালিয়াতির অনুরোধ কোড সম্পাদনকে নেতৃত্ব দেয়
- ইচ্ছার তালিকায় ক্রস-সাইট স্ক্রিপ্টিং
- কার্টে ক্রস-সাইট স্ক্রিপ্টিং
- স্টোর পাথ ডিসক্লোজার
- লগ ফাইলগুলিতে খুব ব্রডের অনুমতি রয়েছে
- প্রশাসনে ক্রস-সাইট স্ক্রিপ্টিং ting
- অর্ডার আরএসএসে ক্রস-সাইট স্ক্রিপ্টিং
কয়েকটি দোকান প্যাচ করার পরে, আমি এটি সংগ্রহ করেছি:
থিম প্যাচগুলি
কিছু থিম ফাইলগুলি সম্ভাব্য এক্সএসএস আক্রমণগুলি রোধ করতে যোগ করা পলায়নের সাথে প্যাচ করা হয়েছে:
checkout/cart.phtml
checkout/cart/noItems.phtml
checkout/onepage/failure.phtml
rss/order/details.phtml
wishlist/email/rss.phtml
যদি আপনার থিম (গুলি) এর মধ্যে এই টেমপ্লেটগুলির কোনও রয়েছে বা আপনি যদি সরাসরি পরিবর্তন করে থাকেন base/default
(সৌভাগ্য, আপনি ক্ষতিগ্রস্থ হন) তবে আপনাকে সেগুলি ম্যানুয়ালি প্যাচ করা দরকার:
চেকআউট টেম্পলেটগুলিতে, সমস্ত উপস্থিতি প্রতিস্থাপন করুন
$this->getContinueShoppingUrl()
সঙ্গে
Mage::helper('core')->quoteEscape($this->getContinueShoppingUrl())
মধ্যে wishlist/email/rss.phtml
, প্রতিস্থাপন
$this->helper('wishlist')->getCustomerName()
সঙ্গে
Mage::helper('core')->escapeHtml($this->helper('wishlist')->getCustomerName())
ইন rss/order/details.phtml
, প্রতিস্থাপন
<?php echo $this->__('Customer Name: %s', $_order->getCustomerFirstname()?$_order->getCustomerName():$_order->getBillingAddress()->getName()) ?><br />
<?php echo $this->__('Purchased From: %s', $_order->getStore()->getGroup()->getName()) ?><br />
সঙ্গে
<?php $customerName = $_order->getCustomerFirstname() ? $_order->getCustomerName() : $_order->getBillingAddress()->getName(); ?>
<?php echo $this->__('Customer Name: %s', Mage::helper('core')->escapeHtml($customerName)) ?><br />
<?php echo $this->__('Purchased From: %s', Mage::helper('core')->escapeHtml($_order->getStore()->getGroup()->getName())) ?><br />
অনুমতিসমূহ
.htaccess
ফাইল যোগ করা হয়েছে downloader/Maged
এবং downloader/lib
সোর্স ফাইল অননুমোদিত সরাসরি প্রবেশাধিকার রয়েছে। আপনি যদি এনজিনেক্স ব্যবহার করেন তবে একইটি অর্জনের জন্য আপনাকে এই নিয়মগুলি যুক্ত করতে হবে (এর জন্য বেন লেসানির কাছে থেক্স ):
location /downloader/Maged/ { deny all; }
location /downloader/lib/ { deny all; }
তবে আমি downloader
যাইহোক যাইহোক একটি লাইভ সিস্টেম সিস্টেমে মোতায়েন থেকে বাদ দেওয়ার পরামর্শ দিই , এই ক্ষেত্রে আপনাকে পদক্ষেপ নেওয়ার দরকার নেই।
প্রশাসন অধিকার (এসিএল)
যদি আপনি সীমাবদ্ধ প্রশাসক অ্যাকাউন্টগুলি ব্যবহার করেন, তৃতীয় পক্ষের এক্সটেনশনের কিছু মেনু তাদের জন্য আর কাজ না করে। কারণটি হ'ল ডিফল্ট ফিরতি মানটি Mage_Adminhtml_Controller_Action::_isAllowed()
থেকে পরিবর্তিত true
হয়েছে Mage::getSingleton('admin/session')->isAllowed('admin')
। যেসব এক্সটেনশানগুলি তাদের প্রশাসক কন্ট্রোলারে এই পদ্ধতিটি ওভাররাইড করে না কারণ তারা এসিএল ব্যবহার করে না, এখন তাদের "সমস্ত" অধিকার প্রয়োজন।
একমাত্র সমাধান হ'ল এক্সটেনশানগুলিকে প্যাচ দেওয়া এবং এই পদ্ধতিটি তাদের সমস্ত প্রশাসক কন্ট্রোলারে যুক্ত করুন:
protected function _isAllowed()
{
return true;
}
বা যদি তাদের আসলে একটি এসিএল সংস্থান সংজ্ঞায়িত থাকে etc/adminhtml.xml
:
protected function _isAllowed()
{
return Mage::getSingleton('admin/session')->isAllowed('ENTER RESOURCE IDENTIFIER HERE');
}
(আপনি দেখতে পাচ্ছেন যে প্যাচটি Phoenix_Moneybookers
পুরানো ম্যাজেন্টো সংস্করণগুলিতে 1.7 এর মতো যেখানে এই এক্সটেনশানটি অন্তর্ভুক্ত ছিল একই রকম হয় )
এই ইস্যুটির আরও বিশদ দৃষ্টিভঙ্গি এবং কীভাবে এসিএল নিখোঁজ সংস্থানগুলি সংজ্ঞায়িত করা যায় তার বিশদ জন্য দেখুন: এসইপিইই -6285 ইনস্টল করার পরে অস্বীকৃত ত্রুটিগুলি অ্যাক্সেস করুন
প্যাচ প্রয়োগ করার সময় সম্ভাব্য ত্রুটি
বার্তা:
can't find file to patch at input line 899
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git app/design/frontend/default/modern/template/checkout/cart.phtml app/design/frontend/default/modern/template/checkout/cart.phtml
|index 982ad5a..2bf6b37 100644
|--- app/design/frontend/default/modern/template/checkout/cart.phtml
|+++ app/design/frontend/default/modern/template/checkout/cart.phtml
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored
কারণ:default/modern
থিম ইনস্টলেশন থেকে অপসারণ করা হয়েছে
সমাধান:app/design/frontend/default/modern
একটি নতুন ম্যাজেন্টো ডাউনলোড থেকে যুক্ত করুন (আপনার দোকানের মতোই সংস্করণ হওয়া উচিত)। আপনি এই আয়নাটিও ব্যবহার করতে পারেন: https://github.com/firegento/magento । তারপরে প্যাচটি সফলভাবে প্রয়োগের পরে আপনি আবার থিমটি সরিয়ে ফেলতে পারেন।
বার্তা
patching file downloader/Maged/.htaccess
can't find file to patch at input line 915
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git downloader/Maged/Controller.php downloader/Maged/Controller.php
|index aa9d705..32755d7 100644
|--- downloader/Maged/Controller.php
|+++ downloader/Maged/Controller.php
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
5 out of 5 hunks ignored
can't find file to patch at input line 976
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git downloader/Maged/Model/Session.php downloader/Maged/Model/Session.php
|index 18020eb..7013c94 100644
|--- downloader/Maged/Model/Session.php
|+++ downloader/Maged/Model/Session.php
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
2 out of 2 hunks ignored
patching file downloader/lib/.htaccess
can't find file to patch at input line 1020
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git downloader/template/connect/packages.phtml downloader/template/connect/packages.phtml
|index 9cca5a6..f42e74e 100644
|--- downloader/template/connect/packages.phtml
|+++ downloader/template/connect/packages.phtml
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
3 out of 3 hunks ignored
can't find file to patch at input line 1049
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git downloader/template/connect/packages_prepare.phtml downloader/template/connect/packages_prepare.phtml
|index f74c3df..86aa51b 100644
|--- downloader/template/connect/packages_prepare.phtml
|+++ downloader/template/connect/packages_prepare.phtml
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 1061
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git downloader/template/login.phtml downloader/template/login.phtml
|index 6e4cd2c..dbbeda8 100644
|--- downloader/template/login.phtml
|+++ downloader/template/login.phtml
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 1073
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git downloader/template/settings.phtml downloader/template/settings.phtml
|index 13551ac..47ab411 100644
|--- downloader/template/settings.phtml
|+++ downloader/template/settings.phtml
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored
কারণ:downloader
ডিরেক্টরির ইনস্টলেশন থেকে অপসারণ করা হয়েছে
সমাধান:downloader
একটি নতুন ম্যাজেন্টো ডাউনলোড থেকে যুক্ত করুন (আপনার দোকানের মতোই সংস্করণ হওয়া উচিত)। আপনি এই আয়নাটিও ব্যবহার করতে পারেন: https://github.com/firegento/magento । তারপরে প্যাচটি সফলভাবে প্রয়োগের পরে আপনি আবার ডিরেক্টরিটি সরিয়ে ফেলতে পারেন।
বার্তা: অনুরূপ কিছু
checking file app/design/frontend/base/default/template/checkout/cart.phtml
Hunk #1 FAILED at 97 (different line endings).
1 out of 1 hunk FAILED
checking file app/design/frontend/base/default/template/checkout/cart/noItems.phtml
Hunk #1 FAILED at 31 (different line endings).
1 out of 1 hunk FAILED
checking file app/design/frontend/base/default/template/checkout/onepage/failure.phtml
Hunk #1 FAILED at 29 (different line endings).
1 out of 1 hunk FAILED
checking file app/design/frontend/base/default/template/rss/order/details.phtml
Hunk #1 FAILED at 31 (different line endings).
1 out of 1 hunk FAILED
checking file app/design/frontend/base/default/template/wishlist/email/rss.phtml
Hunk #1 FAILED at 25 (different line endings).
1 out of 1 hunk FAILED
কারণ: ফাইলগুলি \r\n
(সিআরএলএফ, উইন্ডোজ লাইন ব্রেক) বা \r
(সিআরএফ, ম্যাক লাইন ব্রেক) এর পরিবর্তে \n
(এলএফ, ইউনিক্স লাইন ব্রেক) সঞ্চিত রয়েছে ।
সমাধান: কেবল লাইন ব্রেকগুলিতে রূপান্তর করুন, আপনার পাঠ্য সম্পাদক বা আইডিই এর পক্ষে সক্ষম হওয়া উচিত।