ตรวจสอบเวอร์ชั่นของวีโอไอพีโดยไม่ต้องเข้าถึงฐานรหัส


22

มีวิธีการหาเวอร์ชั่นของ Magento ที่ใช้งานโดยไม่ต้องใช้โค้ดด้านเซิร์ฟเวอร์หรือไม่?

ตัวอย่างเช่นปลั๊กอินนี้ทำงานอย่างไร

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

ความคิดของฉันเพื่อตรวจสอบหรือLICENSE.txt LICENSE_EE.txtอย่างน้อยคุณสามารถกำหนด CE vs EE

นอกจากนี้คุณยังสามารถใช้ปีลิขสิทธิ์เป็นค่าเริ่มต้นstyles.cssในการเดา

มีใครอีกบ้างที่รู้วิธีที่ดีกว่านี้?


3
ดูเหมือนว่าเครื่องมือของคุณจะมีความแม่นยำพอสมควร ...
Peter O'Callaghan

คำตอบ:


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 คุณควรทำ diff ต่างกับไฟล์จริง ที่เก็บมิร์เรอร์นี้บน GitHub อาจช่วยได้:

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

Magento 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

เปิด URL ที่มีอยู่ใน EE เท่านั้น
Fabian Schmengler

เนื่องจากฉันไม่ทราบว่ามีเฉพาะ URL ใดใน EE ฉันจึงเห็นว่าความแตกต่างระหว่าง EE และ CE นั้นอยู่ในจำนวนเขตข้อมูลใน admin_role ด้วย ใน CE มี 7 ช่องในนั้นและใน EE มีอีก 3 รอบดังนั้นประมาณ 10 หรือมากกว่านั้น แก้ไขปัญหาของฉันด้วย Magento รุ่นที่พิมพ์ด้วย
Vladimir Despotovic

17

หากร้านค้ายังคงมี Magento Connect Module ติดตั้งอยู่และไม่ได้ปิดกั้น URL นั้นจากการเข้าถึงสาธารณะเพียงแค่เข้าไปที่http://www.website.com / downloaderเวอร์ชันจะแสดงที่ด้านล่างตามภาพนี้

ในทางเทคนิคแล้วฉันคิดว่านี่เป็นเวอร์ชั่นสำหรับแพ็คเกจ Downloader แต่ฉันไม่เคยเห็นมันมาก่อนไม่ตรงกับเวอร์ชั่น Magento โดยรวม

ป้อนคำอธิบายรูปภาพที่นี่


ซึ่งหมายความว่าหากคุณไปที่ downloader / Maged / Controller.php และดูที่public static function getVersionInfo()นั่นคืออาร์เรย์ที่แสดงเวอร์ชัน ฉันเดาว่ารุ่นนี้สอดคล้องกับเวอร์ชั่นวีโอไอพี
Buttle Butkus

8

คุณสามารถใช้ MD5 hash ของไฟล์สาธารณะ (ภาพ, css, js) เพื่อระบุรุ่น

พื้นที่เก็บข้อมูลนี้มีรายชื่อของแฮชไฟล์ใน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"
    }
}

ตัวอย่างเช่นถ้าเราทดสอบตัวอย่างวีโอไอพีสโตร์

$ 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

Nopeมันจะไม่ดีถ้ามันจะได้รับการเผยแพร่สู่สาธารณะ การรักษาความปลอดภัยที่ชาญฉลาดมันโอเคไม่ได้บอกทุกสิ่งกับทุกคน

บางครั้งการทำงานของส่วนหน้าจะทำให้คุณคาดเดาได้ดี เนื่องจากฟีเจอร์บางอย่างเพิ่งนำมาใช้ตั้งแต่รุ่น 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.