Example #1
0
?>
"><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">&nbsp;Servidor 
                  MySQL</td>
                <td bgcolor="#DFDFDF" align="left" width="49%"> localhost</td>
              </tr>
              <tr align="center"> 
                <td width="51%" align="left" bgcolor="#BFBFBF">&nbsp;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">&nbsp;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">&nbsp;Contrase&ntilde;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;
        }
    }
}
Example #3
0
<?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;
            }
        }
    }
}