코드베이스에 액세스하지 않고 마 젠토 버전 확인


22

서버 측 코드에 액세스 하지 않고 사용중인 Magento 버전을 찾는 방법이 있습니까?

예를 들어이 플러그인의 작동 방식

https://chrome.google.com/webstore/detail/magento-version-check/aekpbnbbbgocohlbdpdfgghamedmplal

내 생각을 확인 할 수 있습니다 LICENSE.txt또는 LICENSE_EE.txt. 최소한 CE와 EE를 결정할 수 있습니다.

기본적 styles.css으로 저작권 연도를 사용하여 추측을 할 수도 있습니다 .

다른 사람이 더 나은 방법을 알고 있습니까?


3
자신의 도구 ... 상당히 정확한 것 같다
피터 O'Callaghan에게

답변:


26

마 젠토 1.x

의 저작권 표시 /skin/frontend/default/default/css/styles.css는 이미 좋은 지표입니다.

다음은 Magento CE에 대한 여러 가지 저작권 고지입니다.

Version             @copyright
------------------------------------------------------------------------------------------------
Magento 1.9         Copyright (c) 2006-2014 X.commerce, Inc. (http://www.magento.com)
Magento 1.8         Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
Magento 1.7         Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
Magento 1.6         Copyright (c) 2011 Magento Inc. (http://www.magentocommerce.com)
Magento 1.4.1-1.5   Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
Magento 1.4.0       Copyright (c) 2009 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
Magento 1.0-1.3     Copyright (c) 2008 Irubin Consulting Inc. DBA Varien (http://www.varien.com)

1.4와 1.5를 구별하려면 파일에 대해 실제 diff를 수행해야합니다. GitHub의이 미러 저장소가 도움이 될 수 있습니다.

https://github.com/OpenMage/magento-mirror/commits/magento-1.5/skin/frontend/default/default/css/styles.css

마 젠토 2.x

Magento 2 상점의 경우 Magento_Version모듈이 비활성화되어 있지 않으면 은판에 버전이 표시됩니다 . 방문하십시오 shop-domain.tld/magento_version. 출력 예 :

Magento/2.1 (Community)

그러나 정확한 패치 버전에 대한 정보는 없습니다.

버전 모듈이 비활성화되었거나이 URL에 대한 액세스가 차단 된 경우와 같은 기본 스타일 시트를 확인할 수도 있습니다 /static/frontend/Magento/blank/en_US/css/print.css. 그러나 지금까지 저작권 표시는 많은 것을 말하지 않습니다.

Version             @copyright
------------------------------------------------------------------------------------------------
Magento 2.0         Copyright © 2016 Magento.
Magento 2.1         Copyright © 2016 Magento.

Magento가 CE인지 EE인지 어떻게 알 수 있습니까?
Vladimir Despotovic

단지 EE에 존재하는 URL 열기
파비안 Schmengler

EE에만 어떤 URL이 있는지 모르기 때문에 EE와 CE의 차이가 admin_role의 필드 수에도 있음을 알았습니다. CE에는 7 개의 필드가 있으며 EE에는 약 3 개가 더 있으므로 약 10 개 정도가 있습니다. 또한 Magento의 에디션 버전으로 문제를 해결했습니다.
Vladimir Despotovic

17

상점에 여전히 Magento Connect Module이 설치되어 있고 http://www.website.com / downloader에 액세스 할 수 있도록 공개 액세스에서 해당 URL을 의도적으로 차단하지 않는 경우이 이미지에 따라 버전이 맨 아래에 표시됩니다.

기술적으로 이것은 다운로더 패키지의 버전이라고 생각하지만 전체 Magento 버전과 일치하지 않는 것을 본 적이 없습니다.

여기에 이미지 설명을 입력하십시오


이것은 downloader / Maged / Controller.php로 가서 public static function getVersionInfo()버전을 보여주는 배열이 있는지를 의미합니다. 이 버전도 마 젠토 버전과 일치한다고 생각합니다.
Buttle Butkus

8

공개 파일의 MD5 해시 (이미지, css, js)를 사용하여 버전을 식별 할 수 있습니다.

이 저장소는 해시의 목록이 있는 파일에 대한 js, mediaskin폴더를.

다음은 json형식 의 고유 해시 입니다.

{
    "skin/adminhtml/default/default/boxes.css": {
        "6aefb246b1bb817077e8fca6ae53bf2c": "CE 1.2.0, CE 1.2.0.1, CE 1.2.0.2, CE 1.2.0.3", 
        "84b67457247969a206456565111c456b": "CE 1.1.2, CE 1.1.3, CE 1.1.4", 
        "0902e89fb50b22d44f8242954a89300c": "EE 1.12.0.0", 
        "8a5c088b435dbcf1bbaac9755d4ed45f": "EE 1.12.0.1, EE 1.12.0.2", 
        "1cbeca223c2e15dcaf500caa5d05b4ed": "CE 1.7.0.0", 
        "d0511b190cdddf865cca7873917f9a69": "CE 1.1.1", 
        "a2c7f9ddda846ba76220d7bcbe85c985": "CE 1.2.1, CE 1.2.1.1, CE 1.2.1.2"
    }, 
    "js/mage/adminhtml/sales.js": {
        "a86ad3ba7ab64bf9b3d7d2b9861d93dc": "CE 1.0", 
        "d80c40eeef3ca62eb4243443fe41705e": "CE 1.5.0.1", 
        "95e730c4316669f2df71031d5439df21": "CE 1.1.0", 
        "bdacf81a3cf7121d7a20eaa266a684ec": "CE 1.5.1.0", 
        "ba43d3af7ee4cb6f26190fc9d8fba751": "EE 1.14.1.0", 
        "c8dd0fd8fa3faa9b9f0dd767b5a2c995": "CE 1.9.1.1", 
        "4422dffc16da547c671b086938656397": "CE 1.4.2.0", 
        "0e400488c83e63110da75534f49f23f3": "CE 1.3.2, CE 1.3.2.1, CE 1.3.2.2, CE 1.3.2.3, CE 1.3.2.4", 
        "48d609bb2958b93d7254c13957b704c4": "CE 1.6.1.0, CE 1.6.2.0", 
        "40417cf4bee0e99ffc3930b1465c74ae": "EE 1.11.2.0", 
        "5656a8c1c646afaaf260a130fe405691": "CE 1.8.1.0", 
        "17da0470950e8dd4b30ccb787b1605f5": "CE 1.1.5, CE 1.1.6", 
        "aeb47c8dfc1e0b5264d341c99ff12ef0": "EE 1.11.0.2", 
        "ec6a34776b4d34b5b5549aea01c47b57": "EE 1.10.0.2", 
        "a0436f1eee62dded68e0ec860baeb699": "CE 1.9.1.0", 
        "5112f328e291234a943684928ebd3d33": "CE 1.1.7, CE 1.1.8", 
        "7ca2e7e0080061d2edd1e5368915c267": "EE 1.10.1.1", 
        "a4296235ba7ad200dd042fa5200c11b0": "CE 1.6.0.0", 
        "9a5d40b3f07f8bb904241828c5babf80": "EE 1.13.1.0", 
        "3fe31e1608e6d4f525d5db227373c5a0": "EE 1.13.0.0, EE 1.13.0.2", 
        "26c8fd113b4e51aeffe200ce7880b67a": "CE 1.8.0.0", 
        "839ead52e82a2041f937389445b8db04": "CE 1.3.3.0", 
        "d1bfb9f8d4c83e4a6a826d2356a97fd7": "CE 1.3.1, CE 1.3.1.1"
    }, 
    "js/mage/adminhtml/product.js": {
        "e887acfc2f7af09e04f8e99ac6f7180d": "CE 1.3.0"
    }, 
    "skin/frontend/rwd/default/css/styles.css": {
        "bf6c8e2ba2fc5162dd5187b39626a3a0": "CE 1.9.0.1", 
        "5373978891051983da47ac5064b4b2b9": "EE 1.14.0.1", 
        "8a874fcb6cdcb82947ee4dbbe1822f3e": "CE 1.9.0.0", 
        "bd66fd43fecd7ca1e293226bb11e1658": "EE 1.14.0.0"
    }, 
    "js/prototype/validation.js": {
        "295494d0966637bdd03e4ec17c2f338c": "CE 1.4.1.0", 
        "d3252becf15108532d21d45dced96d53": "CE 1.4.1.1"
    }, 
    "js/mage/adminhtml/tools.js": {
        "86bbebe2745581cd8f613ceb5ef82269": "CE 1.7.0.1, CE 1.7.0.2", 
        "ea81bcf8d9b8fcddb27fb9ec7f801172": "CE 1.3.2.2", 
        "d594237950932b9a3948288a020df1ba": "CE 1.3.2.3, CE 1.3.2.4, CE 1.3.3.0"
    }, 
    "js/lib/flex.js": {
        "4040182326f3836f98acabfe1d507960": "CE 1.4.0.1", 
        "eb84fc6c93a9d27823dde31946be8767": "CE 1.4.0.0"
    }
}

예를 들어 데모 Magento 저장소를 테스트하면

$ curl -s http://demo.magentocommerce.com/skin/frontend/rwd/default/css/styles.css | md5
8a874fcb6cdcb82947ee4dbbe1822f3e

우리는 해시가에 해당함을 알 수 CE 1.9.0.0있습니다.

사용하면 다음과 같이 보일 수 있습니다

$url = 'http://demo.magentocommerce.com/';

foreach ((array)json_decode(file_get_contents('hashes.json')) as $file => $hash) {
    $md5 = md5(file_get_contents($url . $file));
    if (isset($hash[$md5])) {
        echo $hash[$md5];
        break;
    }
}

파일이 축소, 패치되거나 줄 끝이 다른 경우에는 작동하지 않을 수 있습니다.


4

관리자 패널에 액세스 할 수 있으면 바닥 글을 통해 마 젠토 버전을 확인할 수 있습니다.

그렇지 않으면 권한이 변경되지 않은 경우 RELEASE_NOTES.txt 파일에서 magento 버전을 확인하여 EE인지 커뮤니티인지 쉽게 알 수 있습니다.


0

아니요 , 공개적으로 게시하면 나쁠 것입니다. 보안 현명한 것은 모든 사람에게 모든 것을 말하지 않는 것이 좋습니다.

때로는 프론트 엔드 기능이 좋은 추측을 제공합니다. 일부 기능은 에디션 x 이후로 구현 되었기 때문입니다. 또는 경로는 특히 버전에 적합한 방식으로 빌드됩니다.

특정 프론트 엔드 기능과 라우터 또는 클래스 이름 사용을 가리키는 라우터가 있으면 모듈도 마찬가지입니다. 쉽게 추측 할 수 있습니다.

그래도이 작업을 수행 할 수 있습니다 (모두 특정 수준의 액세스가 필요함).

  • 서버 사이드 app/Mage.php ) 및 확인app/etc/modules
  • 관리자에 로그인하고 바닥 글의 버전을 확인하십시오
  • Magerun을 실행 서버 측 (더 많은 일을 할 수 있음)
  • 사용 magento.info API 호출을

질문에서 언급했듯이 서버 측 액세스 권한이 없으므로이 답변이 효과가 없습니다.
Steve Robbins

0

magescan원격 Magento 버전을 확인하는 데 사용 했습니다.

https://github.com/steverobbins/magescan

또한 패치 수준, 서버 정보, 설치된 모듈, 카탈로그, 사이트 맵, 연결할 수없는 경로 및 버전을 검색 할 수 있습니다. PHP phar이며 작곡가와 함께 설치할 수 있습니다.

일반적인 사용법 :

$ magescan.phar scan:all store.example.com
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.