Tárhely-hitelesítő adatok tárolása fájlban
Hogyan tárold az Amazon S3 kulcsokat vagy az FTP-adatokat az adatbázis helyett egy mu-plugin fájlban.
Előfordul, hogy a távoli tárhely hitelesítő adatait (például az Amazon S3 kulcsokat vagy az FTP-bejelentkezést) nem az adatbázisban, hanem fájlban szeretnéd tárolni. Ezt egy mu-plugin segítségével oldhatod meg.
A mu-plugin létrehozása
Szekció neve “A mu-plugin létrehozása”- Nézd meg, van-e
mu-pluginsnevű mappa a WordPresswp-contentmappájában. Ha nincs, hozd létre. - Hozz létre benne egy tetszőleges nevű,
.phpvégű fájlt, példáulwp-content/mu-plugins/define_udp_api_keys.php. - Másold bele az alábbi példák egyikét, és írd át a kulcsokat a sajátjaidra.
Ha átnevezted a WordPress alapértelmezett mappáit (például a wp-content mappát), az elérési utakat ennek megfelelően igazítsd.
Ha a fájlban hiba van, az egész oldal elfehéredhet („white screen of death”). Ilyenkor töröld a fájlt, vagy javítsd ki a hibát, és az oldal visszatér.
Amazon S3 kulcsok fájlban
Szekció neve “Amazon S3 kulcsok fájlban”A kód a get_s3_user_settings függvényben tárolt hozzáférési és titkos kulcsot használja. Csak ebben a függvényben kell szerkesztened: a test_key és a test_secret_key helyére írd a saját kulcsaidat. Ha több S3-példányod van, a tömb következő elemébe írd a második kulcspárt, és további példányoknál vegyél fel újabb elemet ugyanebben a formában. A példa két S3-fiókot kezel.
<?phpadd_filter('updraftplus_get_option', 'get_stored_s3_options', 10, 3);add_filter('updraftplus_update_option', 'update_stored_s3_options', 10, 3);
// Futásidőben beilleszti a kulcsokat, amikor szükség van rájuk.function get_stored_s3_options($ret, $option, $default) { if ('updraft_s3' != $option || empty($ret['settings'])) return $ret; $user_settings = get_s3_user_settings(); foreach ($ret['settings'] as $instance => $options) { $settings = array_shift($user_settings); $ret['settings'][$instance]['accesskey'] = $settings['accesskey']; $ret['settings'][$instance]['secretkey'] = $settings['secretkey']; } return $ret;}
// Gondoskodik róla, hogy semmi ne kerüljön az adatbázisba.function update_stored_s3_options($value, $option, $use_cache) { if ('updraft_s3' != $option || empty($value['settings'])) return $value; foreach ($value['settings'] as $instance => $options) { $value['settings'][$instance]['accesskey'] = ''; $value['settings'][$instance]['secretkey'] = ''; } return $value;}
// Ide írd a használni kívánt kulcsokat.function get_s3_user_settings() { return array( // az 1. példány beállításai 0 => array( 'accesskey' => 'test_key', 'secretkey' => 'test_secret_key' ), // a 2. példány beállításai 1 => array( 'accesskey' => 'test_key_2', 'secretkey' => 'test_secret_key_2' ) );}Ezután az API-kulcsaid a fájlban vannak, az adatbázisban nem.
FTP-adatok fájlban
Szekció neve “FTP-adatok fájlban”Ugyanez FTP-hez. A bejelentkezési nevet és a jelszót a get_ftp_user_settings függvényben add meg.
<?phpadd_filter('updraftplus_get_option', 'get_stored_ftp_options', 10, 3);add_filter('updraftplus_update_option', 'update_stored_ftp_options', 10, 3);
function get_stored_ftp_options($ret, $option, $default) { if ('updraft_ftp' != $option || empty($ret['settings'])) return $ret; $user_settings = get_ftp_user_settings(); foreach ($ret['settings'] as $instance => $options) { $settings = array_shift($user_settings); $ret['settings'][$instance]['user'] = $settings['user']; $ret['settings'][$instance]['pass'] = $settings['pass']; } return $ret;}
// Mentéskor az FTP-adatok nem kerülnek az adatbázisba.function update_stored_ftp_options($value, $option, $use_cache) { if ('updraft_ftp' != $option || empty($value['settings'])) return $value; foreach ($value['settings'] as $instance => $options) { $value['settings'][$instance]['user'] = ''; $value['settings'][$instance]['pass'] = ''; } return $value;}
// Ide írd a hitelesítő adataidat.function get_ftp_user_settings() { return array( 0 => array( 'user' => 'test_login', 'pass' => 'test_password' ), 1 => array( 'user' => 'test_login_2', 'pass' => 'test_password_2' ) );}Más tárhelytípushoz a kódot hasonlóan kell átalakítani. Ha ebben nem vagy biztos, kérj meg egy fejlesztőt, pár perces munka.
Készült: