2012-11-29 5 views
5

Ho bisogno della password per un server sftp come campo di configurazione per un modulo Magento su cui sto lavorando. Aggiungere il campo è abbastanza semplice, ma Magento in realtà non cripta il valore solo perché ha uno frontend_type di password.Custom Magento admin config password encryption

<sftp_password translate="label"> 
    <label>SFTP Password</label> 
    <frontend_type>password</frontend_type> 
    <sort_order>170</sort_order> 
    <show_in_default>1</show_in_default> 
    <show_in_website>1</show_in_website> 
    <show_in_store>1</show_in_store> 
</sftp_password> 

Non sono stato in grado di trovare la documentazione su come crittografare correttamente questo valore. Come posso garantire che la password venga crittografata quando viene archiviata nel database?

risposta

11
<sftp_password translate="label"> 
     <label>SFTP Password</label> 
     <frontend_type>obscure</frontend_type> 
     <backend_model>adminhtml/system_config_backend_encrypted</backend_model> 
     <sort_order>10</sort_order> 
     <show_in_default>1</show_in_default> 
     <show_in_website>1</show_in_website> 
     <show_in_store>0</show_in_store> 
</sftp_password> 

// assuming that getConfigData return Mage::getStoreConfig($path, $storeId); 
$this->getConfigData('sftp_password'); 

frontend_type: Password vs Obscure

Obscure estendere la password, ma per motivi di sicurezza sostituire la lunghezza del numero effettivo password '*'s con 6 '*'s quindi non si può dire la lunghezza del Password

See/lib/Varien/dati/Form/Elemento/

Read more @XML for Admin Configurations

+0

Curioso, ' password' sembra fare la stessa cosa di "oscuro". C'è una differenza o è deprecato? – kojiro

+2

Oscura estendi password .. guarda il mio post aggiornato per maggiori informazioni –