Magento versiyonunu kod ile nasıl gösterebilirim?


28

Magento versiyonunu bilmek için herhangi bir sınıf dosyasının olup olmadığını bilmek istiyorum. Site saldırıya uğradıysa versiyonu nasıl ortaya çıkaracaksınız?

Aşağıdaki gibi bir yol olduğunu biliyorum.

Mage::getVersion();

Ancak magento sitesinin hem ön ucu hem de arka ucu çalışmıyorsa, sınıf dosyalarına bakarak nasıl kontrol edebiliriz? Hangi sınıfa başvurmanız gerekir?


6
Aşağı oy kullananlar için bir değerlendirme: Magento SE, aynı zamanda geliştiriciler ve kullanıcılar için tasarlanmıştır . Bu soru açıkça bu alandadır.
benmark

Magento ayrıca temel cilt kurulumlarında da bilgi sızdırıyor. Lisans kazanına bakarak, oldukça çabuk bir şekilde bastırabilirsiniz.
Fiasco Labs

Yanıtlar:


36

Mage::getVersion()Yöntem tanımlanmaktadır

#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']}", '.-');
}

Atlama getVersionInfoyukarıda referans, aşağıdakileri bulmak

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

Böylece, Magento, getVersionInfobir versiyon numarası bulmak için metodun döndürdüğü diziyi kullanır . Bunu manuel olarak yapabiliriz (zihinlerimizle birlikte) ve yukarıda listelenen yöntem için 1.7.0.2 sürümünü bulabiliriz. Eğer bulursak

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

Sürümün 1.5.0.0’ın ilk beta sürümü olduğunu biliyorduk.

Bununla birlikte, sitenin saldırıya uğraması durumunda, tüm bahisler kapalıdır, çünkü bilgisayar korsanları birden fazla sınıf dosyasını büyük olasılıkla değiştirmiş ve mevcut olmayan bir Magento sürümü yaratmışlardır.


Öyleyse, site saldırıya uğradıysa ve bizim de yedeklememiz yoksa, tam sürüm almanın uygun bir yolu yok mu? (Bilgisayar korsanlarının işlevlerin üzerinde de değiştirildiğini varsayalım)
Sukeshini

4
Magento Uygulama Sürümü numarası yalnızca app/Mage.phpAlan Storm'un not ettiği yerde saklanır . Bir metin editöründe açar ve ön / arka'nın geçersiz olup olmadığına bakarsınız. Core_resource tablosunda modül versiyonuna bakabilirsiniz, bu sayılar module/etc/config.xmlher modül için dosyalardan alınır. Eğer Mage.phpdosya eksik veya değiştirilirse, o depolanan Bildiğim kadarıyla başka hiçbir yer yoktur.
Fiasco Labs

@ Fiasco Labs: Yanıtınız için teşekkürler. +1
Sukeshini

@Alan Fırtına: Güzel ve ayrıntılı bir açıklama için teşekkürler. Bahsettiğin dosyalara baktım.
Sukeshini

2
Başarısız / botched yükseltme kurulumunun içinde sürümü yanlış gösterebileceğini unutmayın Mage.php. Çalıştığım son bir site hacklendiğini bildirdi 1.7.0.2 ancak dosyalarına bakıldığında bu sitenin hala 1.6 olduğu açıktı.
pspahn

5

Hangi versiyonun şimdi kullandığını kolayca bulabiliriz.

Kök klasörünüzü açın /app/Mage.php

168 satırın yanında, aşağıdaki kodu bulabilirsiniz

genel statik işlev getVersionInfo ()

{

    return array(

        'major'     => '1',

        'minor'     => '9',

        'revision'  => '0',

        'patch'     => '1',

        'stability' => '',

        'number'    => '',

    );

} 

Şu anda 1.9.0.1 sürümünü kullanıyoruz demektir.


5

hacklendiyse, yedeği geri yüklemeniz gerekir ve ardından sürümü hızlı bir şekilde kontrol etmek için bu komutu magento kök klasöründen çalıştırabilirsiniz:

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

Version: 1.9.2.3

hatta daha hızlı:

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

Kolay bir şekilde yeniden adlandırma olduğunu app/etc/local.xmlhiç app/etc/local.xml.bkpbenim durumumda o çözümdü, tesisatın sürümünü gösterin yükleme ekranını göstermek bu ekrandan footer'larındaki olacak tarayıcısı.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.