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' => '',
);
}
시스템-> 도구-> 컴파일에서 컴파일을 비활성화하면 해결되었습니다.