कोड आधार तक पहुंच के बिना Magento संस्करण का निर्धारण करें


22

क्या सर्वर साइडेड कोड तक पहुंच के बिना Magento के संस्करण को खोजने का एक तरीका है ?

उदाहरण के लिए, यह प्लगइन कैसे काम करता है

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

मेरे विचार के लिए जाँच करने के लिए कर रहे हैं LICENSE.txtया LICENSE_EE.txt। आप कम से कम सीई बनाम ईई निर्धारित कर सकते हैं।

आप styles.cssअनुमान लगाने के लिए डिफ़ॉल्ट रूप में कॉपीराइट वर्ष का भी उपयोग कर सकते हैं ।

क्या कोई और बेहतर तरीका जानता है?


3
आपका अपना टूल काफी सटीक लगता है ...
पीटर ओ'कलाघन

जवाबों:


26

Magento 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 को अलग करने के लिए आपको फाइलों के खिलाफ एक वास्तविक अंतर करना चाहिए। GitHub पर यह दर्पण भंडार मदद कर सकता है:

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

Magento 2.x

जब तक Magento_Versionमॉड्यूल अक्षम नहीं होता तब तक Magento 2 की दुकानों के लिए आपको एक चांदी की प्लेट पर संस्करण मिलता है । बस यात्रा करें 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 है?
व्लादिमीर डेस्पोटोविक

एक ऐसा URL खोलें जो केवल EE में मौजूद हो
Fabian Schmengler

चूँकि मुझे नहीं पता कि कौन सा URL केवल EE में मौजूद है, मैंने देखा कि EE और CE के बीच का अंतर भी admin_role में फ़ील्ड की संख्या में है। सीई में इसमें 7 फ़ील्ड हैं, और ईई में लगभग 3 अधिक है, इसलिए लगभग 10 या तो। इसके अलावा मेरी समस्या को Magento के संस्करण संस्करण के साथ हल किया।
व्लादिमीर डेस्पोटोविक

17

यदि स्टोर में अभी भी Magento Connect मॉड्यूल स्थापित है और वह उद्देश्यपूर्ण रूप से ब्लॉक नहीं हो रहा है, तो सार्वजनिक एक्सेस से यूआरएल केवल http://www.website.com / डाउनलोडर तक पहुंच सकता है, इस छवि के अनुसार संस्करण को नीचे दिखाया जाएगा।

तकनीकी रूप से मुझे लगता है कि यह डाउनलोडर पैकेज के लिए संस्करण है, लेकिन मैंने कभी नहीं देखा कि यह समग्र मैगेंटो संस्करण से मेल नहीं खाता।

यहां छवि विवरण दर्ज करें


जिसका अर्थ है कि यदि आप डाउनलोडर / मस्टेड / कंट्रोलर.फैप पर जाते हैं और देखते हैं public static function getVersionInfo()तो एक सरणी है जो संस्करण दिखाता है। मुझे लगता है कि यह संस्करण भी Magento के संस्करण से मेल खाता है।
बुटिक बटुक

8

आप संस्करण की पहचान करने के लिए एमडी 5 हैश की सार्वजनिक फ़ाइलों (छवियों, सीएसएस, जेएस) का उपयोग कर सकते हैं।

यह भंडार हैश की एक सूची है में फ़ाइलों के लिए js, mediaऔर skinफ़ोल्डरों।

यहाँ 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

यदि आपके पास व्यवस्थापक पैनल तक पहुंच है, तो आप इसे Magento संस्करण के लिए पाद लेख के माध्यम से देख सकते हैं

अन्यथा यदि अनुमति नहीं बदली गई है तो आप Magento के संस्करण के लिए RELEASE_NOTES.txt फ़ाइल की जांच कर सकते हैं जो आसानी से बता सकती है कि यह EE है या समुदाय


0

नहीं , यह बुरा होगा अगर इसे सार्वजनिक रूप से पोस्ट किया जाएगा। सुरक्षा के लिहाज से सबको सबकुछ बताना ठीक नहीं है।

कभी-कभी फ्रंटएंड कार्यक्षमता आपको एक अच्छा अनुमान देगी। क्योंकि संस्करण X के बाद से कुछ सुविधाएं लागू की गई हैं। या रास्ते ऐसे तरीके से निर्मित होते हैं जो विशेष रूप से एक संस्करण के लिए होते हैं।

समान मॉड्यूल के साथ जाता है, अगर उनके पास विशिष्ट फ्रंटएंड कार्यक्षमता और राउटर हैं जो उन्हें या वर्ग नाम उपयोग की ओर इशारा करते हैं, तो यह आसानी से अनुमान लगाया जा सकता है।

हालांकि आप ऐसा कर सकते हैं (सभी को एक निश्चित स्तर की पहुंच की आवश्यकता है):

  • सर्वरसाइड (एक झांकना app/Mage.php) और जाँच करेंapp/etc/modules
  • व्यवस्थापक पैनल में प्रवेश करें और पाद लेख में संस्करण देखें
  • चलाने Magerun serverside (आप बहुत कुछ कर सकते हैं)
  • Magento.info API कॉल का उपयोग करें

जैसा कि प्रश्न में उल्लेख किया गया है, मेरे पास सर्वर साइड एक्सेस नहीं है, इसलिए यह उत्तर मेरे लिए काम नहीं करेगा।
स्टीव रॉबिन्स

0

मैंने magescanएक दूरस्थ Magento संस्करण निर्धारित करने के लिए उपयोग किया है:

https://github.com/steverobbins/magescan

यह पैच स्तर, सर्वर जानकारी, स्थापित मॉड्यूल, कैटलॉग, साइटमैप, अगम्य पथ और निश्चित रूप से संस्करण के लिए भी स्कैन कर सकता है। यह एक PHP चरण है और इसे संगीतकार के साथ स्थापित किया जा सकता है।

विशिष्ट उपयोग:

$ magescan.phar scan:all store.example.com
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.