কোড দ্বারা Magento সংস্করণ প্রকাশ কিভাবে?


28

ম্যাজেন্টো সংস্করণটি জানার জন্য কোনও শ্রেণি ফাইল উপলব্ধ কিনা তা জানতে চাই। সাইটটি হ্যাক হয়ে গেলে সংস্করণটি কীভাবে প্রকাশ করবেন?

আমি জানি যে এখানে একটি উপায় আছে।

Mage::getVersion();

তবে যদি ম্যাজেন্টো সাইটের সম্মুখভাগ এবং ব্যাকএন্ড উভয়ই কাজ না করে, আমরা ক্লাস ফাইলগুলির মধ্যে দিয়ে কীভাবে পরীক্ষা করতে পারি? কোন শ্রেণীর উল্লেখ করা প্রয়োজন?


6
নিম্ন-ভোটারদের জন্য বিবেচনা: ম্যাগেন্টো এসই বিকাশকারী এবং ব্যবহারকারীদের জন্য একই রকম। এই প্রশ্নটি স্পষ্টত উত্তরবর্তী অঞ্চলে।
বেনমার্কস

ম্যাজেন্টো তার বেস ত্বকের ইনস্টলগুলিতেও তথ্য ফাঁস করে। লাইসেন্সের বয়লারপ্লেটটি দেখে আপনি এটি খুব দ্রুত পিন করতে পারেন।
ফায়াসকো ল্যাবগুলি

উত্তর:


36

Mage::getVersion()পদ্ধতি এখানে সংজ্ঞায়িত করা হয়

#File: app/Mage.php
public static function getVersion()
{
    $i = self::getVersionInfo();
    return trim("{$i['major']}.{$i['minor']}.{$i['revision']}" . ($i['patch'] != '' ? ".{$i['patch']}" : "")
                    . "-{$i['stability']}{$i['number']}", '.-');
}

getVersionInfoউপরের রেফারেন্সে লাফিয়ে আমরা নিম্নলিখিতটি পাই

#File: app/Mage.php
public static function getVersionInfo()
{
    return array(
        'major'     => '1',
        'minor'     => '7',
        'revision'  => '0',
        'patch'     => '2',
        'stability' => '',
        'number'    => '',
    );
}

সুতরাং, ম্যাজেন্টো getVersionInfoএকটি সংস্করণ নম্বর নিয়ে আসার জন্য পদ্ধতি দ্বারা ফেরত অ্যারে ব্যবহার করে । আমরা ম্যানুয়ালি এটি করতে পারি (আমাদের মন দিয়ে), এবং উপরে তালিকাভুক্ত পদ্ধতিটির জন্য 1.7.0.2 সংস্করণটি নিয়ে আসি। যদি আমরা পাই

public static function getVersionInfo()
{
    return array(
        'major'     => '1',
        'minor'     => '5',
        'revision'  => '0',
        'patch'     => '0',
        'stability' => 'beta',
        'number'    => '1',
    );
}

আমরা জানতাম সংস্করণটি ছিল 1.5.0.0 এর প্রথম বিটা।

এটি বলেছিল, যদি সাইটটি হ্যাক হয়ে যায় তবে সমস্ত বেট বন্ধ রয়েছে - হ্যাকাররা সম্ভবত একাধিক ক্লাসের ফাইলগুলি সংশোধন করেছে এবং ম্যাগেন্তোর একটি সংস্করণ তৈরি করেছে যা বিদ্যমান নেই।


সুতরাং যদি সাইটটি হ্যাক হয়ে যায় এবং আমাদের পাশাপাশি ব্যাকআপ না থাকে তবে সঠিক সংস্করণ পাওয়ার কোনও সঠিক উপায় নেই? (ধরে নিন হ্যাকারদের উপরের ফাংশনগুলিতেও সংশোধন করা হয়েছে)
সুকেশিনী

4
ম্যাজেন্টো অ্যাপ্লিকেশন সংস্করণ নম্বরটি কেবল app/Mage.phpযেখানে অ্যালান স্টর্ম নোটগুলিতে সংরক্ষণ করা হয় । আপনি এটি কোনও পাঠ্য সম্পাদককে খুলুন এবং দেখুন যদি সামনে / পিছনের অংশটি অবরুদ্ধ থাকে। আপনি কোর_সোর্স সারণীতে মডিউল সংস্করণ দেখতে পাবেন, module/etc/config.xmlপ্রতিটি মডিউলের জন্য ফাইলগুলি থেকে এই সংখ্যাগুলি আমদানি করা হবে । যদি Mage.phpফাইলটি অনুপস্থিত বা পরিবর্তিত হয় তবে এটি সঞ্চয় করা হয়েছে বলে আমার জানা অন্য কোনও জায়গা নেই।
ফায়াসকো ল্যাবগুলি

@ ফায়াসকো ল্যাবস: প্রতিক্রিয়াটির জন্য ধন্যবাদ। +1
সুকেশিনী

@ অ্যালান ঝড়: সুন্দর এবং বিস্তারিত ব্যাখ্যার জন্য ধন্যবাদ। আপনি উল্লিখিত ফাইলগুলি আমি দিয়েছিলাম।
সুকেশিনী

2
মনে রাখবেন যে একটি ব্যর্থ / পোকাযুক্ত আপগ্রেড ইনস্টলেশনটি ভুলভাবে সংস্করণটি প্রদর্শন করতে পারে Mage.php। সাম্প্রতিক একটি সাইটের যেটিতে আমি হ্যাক হয়েছিল সে সম্পর্কে প্রতিবেদনটি ছিল 1.7.0.2 কিন্তু যখন ফাইলগুলি দেখছিলাম তখন এটি স্পষ্ট হয়েছিল যে এই সাইটটি এখনও 1.6 এ ছিল।
পিএসপাহন

5

আমরা সহজেই কোন সংস্করণটি ব্যবহার করছে তা ম্যাজেন্টোটি খুঁজে পেতে পারি।

কেবল আপনার রুট ফোল্ডারটি খুলুন / অ্যাপ্লিকেশন / ম্যাজ.এফপি

168 লাইনের নিকটে, আপনি নিম্নলিখিত কোড

পাবলিক স্ট্যাটিক ফাংশন getVersionInfo () পেতে পারেন

{

    return array(

        'major'     => '1',

        'minor'     => '9',

        'revision'  => '0',

        'patch'     => '1',

        'stability' => '',

        'number'    => '',

    );

} 

এর অর্থ হ'ল আমরা বর্তমানে 1.9.0.1 সংস্করণ ব্যবহার করছি।


5

যদি হ্যাক হয় তবে আপনার ব্যাকআপটি পুনরুদ্ধার করতে হবে এবং তারপরে সংস্করণটি দ্রুত পরীক্ষা করতে আপনি ম্যাজেন্টো রুট ফোল্ডার থেকে এই আদেশটি চালাতে পারেন:

echo "Version: $(php -r "require 'app/Mage.php'; echo Mage::getVersion();")"

Version: 1.9.2.3

বা আরও দ্রুত:

grep -A 10 "function getVersionInfo" app/Mage.php 

public static function getVersionInfo()
{
    return array(
        'major'     => '1',
        'minor'     => '9',
        'revision'  => '2',
        'patch'     => '3',
        'stability' => '',
        'number'    => '',
    );
}

1

একটি সহজ উপায় ব্রাউজারের নাম পরিবর্তন app/etc/local.xmlকরা app/etc/local.xml.bkpহলে ইনস্টলেশন স্ক্রিনটি প্রদর্শিত হবে, এই পর্দা থেকে পাদদেশে ইনস্টলেশন সংস্করণ দেখায়, আমার ক্ষেত্রে এটিই সমাধান ছিল।


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