'); } /** * Nahradí výchozí AUTH/SECURE/LOGGED_IN/NONCE klíče a salty ve wp-config.php * vlastními náhodnými hodnotami. Musí být volána PŘED require wp-load.php, * jinak se PHP konstanty definují starými hodnotami a přihlašovací cookie * po redirectu přestane sedět (uživatel by se odhlásil). */ function replace_wp_config_salts($config_path) { if (!file_exists($config_path) || !is_writable($config_path)) return false; $config_content = file_get_contents($config_path); if ($config_content === false) return false; // Pokud config už neobsahuje placeholder frázi, nemá smysl nic dělat if (strpos($config_content, 'put your unique phrase here') === false) return true; $keys = [ 'AUTH_KEY', 'SECURE_AUTH_KEY', 'LOGGED_IN_KEY', 'NONCE_KEY', 'AUTH_SALT', 'SECURE_AUTH_SALT', 'LOGGED_IN_SALT', 'NONCE_SALT', ]; foreach ($keys as $key) { $new_value = addslashes(base64_encode(random_bytes(48))); $pattern = "/define\(\s*'" . preg_quote($key, '/') . "'\s*,\s*'(?:[^'\\\\]|\\\\.)*'\s*\);/"; $replacement = "define('" . $key . "', '" . $new_value . "');"; $config_content = preg_replace($pattern, $replacement, $config_content, 1); } return file_put_contents($config_path, $config_content) !== false; } ?>