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
설치 화면이 표시 되고이 화면의 바닥 글에는 설치 버전이 표시됩니다. 제 경우에는 해결책이었습니다.
답변
시스템-> 도구-> 컴파일에서 컴파일을 비활성화하면 해결되었습니다.