Domanda

Il mio negozio è stato spostato in un server senza mcrypt e per qualche motivo Mcrypt non può essere installato (non chiedermi perché!).

Sembra che le password siano crittografate solo con MD5 con un sale (cattivo!) Quindi mi chiedo quale mcrypt sia usato per niente. Qualcuno ha hackerato Magento ed è stato in grado di installalo senza mcrypt . Non mi sembra buono ma stava lavorando per lui.

Ora vorrei sapere cosa viene utilizzato per l'encrypt e lo spettacolo si spezza se lo sostituivo con un manichino? C'è una soluzione migliore? Potrebbe essere sicuro casuale da openssl e aggiungere una crittografia lib?

tl; DR

    .
  • Cos'è Mcrypt usato per Magento?
  • è possibile una buona soluzione alternativa?
È stato utile?

Soluzione

MCRYPT non è utilizzato per la password e il tasto URL ha hashing ma per la crittografia e la decrittografia di dati sensibili come le password API, ad es. memorizzato in / recuperato dalla configurazione del sistema.

Tutto mcrypt funzionalità è incapsulato in Varien_Crypt_Mcrypt . Questa classe si accede di nuovo tramite Mage_Core_Model_Encryption . Il modello di crittografia che deve essere utilizzato in tutta l'applicazione è configurato in config/global/helpers/core/encryption_model nodo.

Allora (in teoria) C'è una specie di possibilità di sostituire questo dal tuo modello di crittografia, purché soddisfi l'interfaccia dell'ex. A prima vista sembra che tu sia necessario estendere Mage_Core_Model_Encryption e sostituire il _getCrypt Metodo. Questo dovrebbe restituire un'istanza di classe che implementa gli stessi metodi di Varien_Crypt_Mcrypt - ma utilizza una diversa libreria di crittografia.

Altri suggerimenti

È possibile patchare il codice Magento (ad esempio tramite il codepool app/local) e sostituire la funzionalità MCRypt da parte di quelli da PHPECLIB che offrono un'implementazione della funzionalità in PHP PURE http://phpseclib.sourceforge.net/

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top