?> "><font color="#000000">descargar</font></a></td> </tr> <tr align="center"> <td colspan="2" bgcolor="#BFBFBF"><b>Base de datos</b></td> </tr> <tr align="center"> <td width="51%" align="left" bgcolor="#BFBFBF"> Servidor MySQL</td> <td bgcolor="#DFDFDF" align="left" width="49%"> localhost</td> </tr> <tr align="center"> <td width="51%" align="left" bgcolor="#BFBFBF"> Base datos</td> <td bgcolor="#DFDFDF" align="left" width="49%"> <?php $basedatos = xmlconfig_buscadbase($_GET['dominio'], "database"); echo $basedatos; ?> </td> </tr> <tr align="center"> <td width="51%" align="left" bgcolor="#BFBFBF"> Usuario base datos</td> <td bgcolor="#DFDFDF" align="left" width="49%"> <?php echo $basedatos; ?> </td> </tr> <tr align="center"> <td width="51%" align="left" bgcolor="#BFBFBF"> Contraseña
<?php if ($_SESSION['SEC_PERM'] < 100) { exit; } if ($_SESSION['SEC_ID']) { if ($_GET['dominio'] != "") { if (!array_key_exists($_GET['dominio'], $_SESSION['SEC_USER_DOMINIOS'])) { $_SESSION["strTemp"] = "Esta intentando acceder a un dominio que no existe o no pertenece a su cuenta.<br>"; header("Location: ../index.php?resulid=99\n\n"); exit; } } if ($_GET['base'] != "") { if (xmlconfig_buscadbase($_GET['base'], "dominio") != $_GET['dominio']) { echo "Acceso incorrecto, la base de datos no pertenece a su dominio.<br>"; exit; } } }
<?php include "../../../config/main_config.php"; require _CFG_INTERFACE_LIBRERIA; include "../include_permiso.php"; require_once _CFG_INTERFACE_DIRMODULES . "mod_db_mysql/include_funciones.php"; require_once _CFG_INTERFACE_DIRMODULES . "mod_xmlconfig/include_funciones.php"; $mDominio = xmlconfig_buscadbase($_GET['base'], "dominio"); db_mysql_dbasedel($mDominio, $_GET['base']); header("Location: ../../../index.php?grupo=servicios&seccion=db_mysql&pag=index\n\n"); exit;
function filesystem_backupcomprimir($dominio, $flag) { $descriptorspec = array(0 => array("pipe", "r"), 1 => array("pipe", "w"), 2 => array("file", "/dev/null", "w")); $fecha = date("d") . date("m") . date("Y"); switch ($flag) { case "web": $file_nombre = $dominio; $directorio_nombre = _CFG_APACHE_DOCUMENTROOT; $path = _CFG_FILESYSTEM_BACKUPDIR . $dominio . "_web.zip"; break; case "basedatos": $file_nombre = $dominio . ".sql"; $directorio_nombre = _CFG_FILESYSTEM_BACKUPDIR; $MYSQL_DATABASE = xmlconfig_buscadbase($dominio, "database"); $cmd = _CFG_MYSQL_DUMP . " -uroot -p {$MYSQL_DATABASE} >" . $directorio_nombre . $file_nombre; $process = proc_open($cmd, $descriptorspec, $pipes); //en este ejemplo el programa invocado es el mismo php if (is_resource($process)) { fwrite($pipes[0], _CFG_MYSQL_PASSWORD); //código php que le enviamos al intérprete ejecutado fclose($pipes[0]); // cerramos la conexion para que el código enviado se ejecute fclose($pipes[1]); proc_close($process); } $path = _CFG_FILESYSTEM_BACKUPDIR . $dominio . "_basedatos.zip"; break; } //Borramos antes por si hay una version anterior $result = execute_cmd("rm -f {$path}"); if (file_exists($directorio_nombre . $file_nombre)) { $result = execute_cmd(_CFG_CMD_CAT . " " . _CFG_SUDO_PASSWORD); $SUDO_PASSWORD = $result[0]; $exec_cmd = "zip -9 -r {$path} {$file_nombre}"; $cmd = "cd {$directorio_nombre};" . _CFG_SUDO . " -S -u root {$exec_cmd}\n\n"; $process = proc_open($cmd, $descriptorspec, $pipes); //en este ejemplo el programa invocado es el mismo php if (is_resource($process)) { // ahora $pipes contiene lo siguiente: // 0 => manejador (sólo escritura) conectado al stdin del programa invocado // 1 => manejador (sólo lectura) conectado al stdout del programa invocado // Se indicó que cualquier error sea deriva a null fwrite($pipes[0], $SUDO_PASSWORD); //código php que le enviamos al intérprete ejecutado fclose($pipes[0]); // cerramos la conexion para que el código enviado se ejecute echo "<br>\n"; while (!feof($pipes[1])) { echo fgets($pipes[1], 1024); // leemos lo que nos devuelve en tandas de 1K, hasta que llegue el EOF echo "<br>\n"; flush(); } fclose($pipes[1]); // Es importante cerrar todas las tuberías del array $pipes // antes de ejecutar proc_close de modo de evitar un deadlock $return_value = proc_close($process); switch ($flag) { case "web": break; case "basedatos": $result = execute_cmd("rm -f " . $directorio_nombre . $file_nombre); break; } if ($return_value == 0) { return true; } else { return false; } } } }