コードでMagentoのバージョンを明らかにするには?


28

magentoのバージョンを知るために利用できるクラスファイルがあるかどうかを知りたいです。サイトがハッキングされている場合、バージョンを公開する方法は?

次のような方法があることを知っています。

Mage::getVersion();

しかし、magentoサイトのフロントエンドとバックエンドの両方が機能していない場合、クラスファイルを調べて確認する方法はありますか?どのクラスを参照する必要がありますか?


6
ダウン投票者に対する考慮事項:Magento SEは、開発者とユーザーの両方を対象としいます。この質問は明らかに後者の領域にあります。
ベンマーク14年

Magentoは、そのベーススキンインストールの情報もリークします。ライセンスボイラープレートを見ると、かなり迅速にピン留めできます。
Fiasco Labs

回答:


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'    => '',
    );
}

そのため、Magentoは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の最初のベータ版であることがわかっていました。

ただし、サイトがハッキングされた場合、すべての賭けは無効です。ハッカーは複数のクラスファイルを変更し、存在しないMagentoのバージョンを作成している可能性が高いためです。


サイトがハッキングされており、バックアップも用意されていない場合、正確なバージョンを取得する適切な方法はありませんか?(ハッカーも機能上で変更されていると想定)
スケシニ14年

4
Magentoアプリケーションバージョン番号はapp/Mage.php、Alan Stormがメモした場所にのみ保存されます。テキストエディタで開き、フロント/バックが機能しないかどうかを確認します。core_resourceテーブルでモジュールのバージョンを調べることができます。これらの番号はmodule/etc/config.xml各モジュールのファイルからインポートされます。Mage.phpファイルが見つからないか変更されている場合、保存されていることを知っている他の場所はありません。
Fiasco Labs 14年

@Fiasco Labs:回答ありがとうございます。+1
スケシニ14年

@アランストーム:素敵で詳細な説明をありがとう。あなたが言及したように、私はファイルを調べました。
スケシニ14年

2
失敗または失敗したアップグレードインストールでは、バージョンが誤って表示される場合があることに注意してくださいMage.php。ハッキングされた最近のサイトは1.7.0.2を報告していましたが、実際にファイルを見ると、このサイトはまだ1.6でした。
pspahn

5

どのバージョンが現在使用しているかを簡単に見つけることができます。

ルートフォルダー/app/Mage.phpを

168行近くに開くだけで、次のコード

public static function getVersionInfo()を見つけることができます。

{

    return array(

        'major'     => '1',

        'minor'     => '9',

        'revision'  => '0',

        'patch'     => '1',

        'stability' => '',

        'number'    => '',

    );

} 

これは、現在1.9.0.1バージョンを使用していることを意味します。


5

ハッキングされた場合、バックアップを復元する必要があります。その後、magentoのルートフォルダーからこのコマンドを実行して、バージョンをすばやく確認できます。

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.