코드로 마 젠토 버전을 공개하는 방법? 싶습니다. 사이트가

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를여십시오.

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설치 화면이 표시 되고이 화면의 바닥 글에는 설치 버전이 표시됩니다. 제 경우에는 해결책이었습니다.


답변

시스템-> 도구-> 컴파일에서 컴파일을 비활성화하면 해결되었습니다.