magentoのバージョンを知るために利用できるクラスファイルがあるかどうかを知りたいです。サイトがハッキングされている場合、バージョンを公開する方法は?
次のような方法があることを知っています。
Mage::getVersion();
しかし、magentoサイトのフロントエンドとバックエンドの両方が機能していない場合、クラスファイルを調べて確認する方法はありますか?どのクラスを参照する必要がありますか?
magentoのバージョンを知るために利用できるクラスファイルがあるかどうかを知りたいです。サイトがハッキングされている場合、バージョンを公開する方法は?
次のような方法があることを知っています。
Mage::getVersion();
しかし、magentoサイトのフロントエンドとバックエンドの両方が機能していない場合、クラスファイルを調べて確認する方法はありますか?どのクラスを参照する必要がありますか?
回答:
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のバージョンを作成している可能性が高いためです。
app/Mage.php
、Alan Stormがメモした場所にのみ保存されます。テキストエディタで開き、フロント/バックが機能しないかどうかを確認します。core_resourceテーブルでモジュールのバージョンを調べることができます。これらの番号はmodule/etc/config.xml
各モジュールのファイルからインポートされます。Mage.php
ファイルが見つからないか変更されている場合、保存されていることを知っている他の場所はありません。
Mage.php
。ハッキングされた最近のサイトは1.7.0.2を報告していましたが、実際にファイルを見ると、このサイトはまだ1.6でした。
どのバージョンが現在使用しているかを簡単に見つけることができます。
ルートフォルダー/app/Mage.phpを
168行近くに開くだけで、次のコード
public static function getVersionInfo()を見つけることができます。
{
return array(
'major' => '1',
'minor' => '9',
'revision' => '0',
'patch' => '1',
'stability' => '',
'number' => '',
);
}
これは、現在1.9.0.1バージョンを使用していることを意味します。
ハッキングされた場合、バックアップを復元する必要があります。その後、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' => '',
);
}
簡単な方法は、ブラウザの名前app/etc/local.xml
を変更しapp/etc/local.xml.bkp
てインストール画面を表示し、この画面のフッターにインストールのバージョンを表示することです。私の場合はそれが解決策でした。
[システム]-> [ツール]-> [コンパイル]からコンパイルを無効にすると解決しました。