অন্যদের মত, আমারও লগ ফাইলগুলি ডেটা লেখা সম্পূর্ণ বন্ধ করে দিয়েছে।
বাগের উত্স - লগ ফাইল ডেটা লিখন নয়
মধ্যে app/Mage.php
তারা এই পরিবর্তনটি করে:
// Validate file extension before save. Allowed file extensions: log, txt, html, csv
- if (!self::helper('log')->isLogFileExtensionValid($file)) {
+ $_allowedFileExtensions = explode(
+ ',',
+ (string) self::getConfig()->getNode('dev/log/allowedFileExtensions', Mage_Core_Model_Store::DEFAULT_CODE)
+ );
+ $logValidator = new Zend_Validate_File_Extension($_allowedFileExtensions);
+ $logDir = self::getBaseDir('var') . DS . 'log';
+ if (!$logValidator->isValid($logDir . DS . $file)) {
return;
}
যা অনুমোদিত ফাইল এক্সটেনশনের একটি কমা দ্বারা পৃথক করা তালিকাটির জন্য কনফিগারেশনে সন্ধান করছে। তারা কনফিগারেশনে এই তালিকাটি যুক্ত করেনি - এমনকি আমাদের নিজেরাই এটি কনফিগার করার জন্য ম্যাগ অ্যাডমিনের একটি বিকল্পও নয়।
বাগের সমাধান - লগ ফাইল ডেটা লিখন নয়
এটি সমাধানের জন্য, কেবল core_config_data
সারণীতে ডাটাবেসে প্রবেশ করুন ।
INSERT INTO core_config_data VALUES ( NULL, 'default', 0, 'dev/log/allowedFileExtensions', 'log,txt,html,csv' );
পাশাপাশি বস্তুগুলি ক্যাশে সাফ করুন এবং আপনার আবার লগ ফাইলগুলিতে ডেটা লিখন দেখতে হবে।
ls -lrt var/log/ | tail
রেফারেন্সের জন্য, সমস্ত ইস্যুটি EE 1.14.2.0 এ ছিল সমস্ত সুরক্ষা প্যাচ প্রয়োগ করা হয়েছিল।
আমি এই ইস্যুতে ম্যাজেন্টো সাপোর্টের সাথে টিকিট খুললাম তবে এখনও কোনও প্রযুক্তিবিদের কাছ থেকে প্রতিক্রিয়া পাইনি। আমি কাতারে আছি
আমাকে এই বাগটি সম্পর্কে সত্যই কী বিভ্রান্ত করছে তা হ'ল 2017 এর শেষের দিকে তারা ম্যাসেন্টোর লগ ফাইল এক্সটেনশানগুলি যাচাই করার জন্য একটি পদ্ধতি রয়েছে যা তারা 2017 সালের শেষের দিকে SUPEE-10415 এর মাধ্যমে যুক্ত করেছে।
app/code/core/Mage/Log/Helper/Data.php
/**
* Checking if file extensions is allowed. If passed then return true.
*
* @param $file
* @return bool
*/
public function isLogFileExtensionValid($file)
{
$result = false;
$validatedFileExtension = pathinfo($file, PATHINFO_EXTENSION);
if ($validatedFileExtension && in_array($validatedFileExtension, $this->_allowedFileExtensions)) {
$result = true;
}
return $result;
}
তারা লগ হুইলটিকে অসম্পূর্ণ পুনঃ-আবিষ্কারের চেষ্টা করার পরিবর্তে সেই যুক্তিটিকে কেন পুনরায় ব্যবহার করেনি?