Ripristino backup versione 1.1.8RC2

Sezione dedicata alla sicurezza dei dati e dei backup, oltre che alla discussione su eventuali problemi di sicurezza riscontrati. Se il problema è particolarmente grave, contattateci a info at openstamanager dot com.
Rispondi
Avatar utente
nitrotore
Messaggi: 1
Iscritto il: 31 dic 2014 18:18
Contatta:

Ripristino backup versione 1.1.8RC2

Messaggio da nitrotore »

ciao a tutti,

ho provato a fare un backup tramite l'apposita procedura, e il backup viene eseguitro correttamente.
Al momento del ripristino, però, non viene ripristinato niente, sembra che il comando di ripristino database non venga dato.

Ho controllato il file backup.php presente in ../modules/backup/ e ho notato che non veniva passato dall'array

Codice: Seleziona tutto

$permessi[$nome_modulo]
il valore che indica l'autorizzazione attuale.

Non conosco php, ma ho notato che l'array

Codice: Seleziona tutto

$permessi[$nome_modulo]
viene inizializzato da questa inclusione

Codice: Seleziona tutto

 include($docroot."/topmenu.php");
che però viene chiamata dopo l'esecuzione della funzione di controllo del livello di accesso

Codice: Seleziona tutto

 if( $permessi[$nome_modulo] == 'rw' )
Ho quindi spostato l'inclusione prima del blocco di codice che si occupa di verificare le condizioni per il restore.

Questo il codice originale

Codice: Seleziona tutto

	include($docroot."/lib/user_check.php");
	include($docroot."/top.php");


	//Restore database
	if( $op == "restore" ){
		if( $permessi[$nome_modulo] == 'rw' ){
			$tmp = $_FILES['restore_file']['tmp_name'];
			$filename = $_FILES['restore_file']['name'];
			$filetype = $_FILES['restore_file']['type'];
			$size = $_FILES['restore_file']['size'];
			$type = $_POST['type'];

			//importazione file temporaneo uploadato nel db
			$dbo->multiQuery( $tmp );
			array_push( $infos, "<big>Dati importati correttamente!</big><br/><em>Nome file: $filename<br/>Dimensione: $size bytes</em>" );
		}
	}


	include($docroot."/topmenu.php");
questo il codice modificato

Codice: Seleziona tutto

	include($docroot."/lib/user_check.php");
	include($docroot."/top.php");
	include($docroot."/topmenu.php");


	//Restore database
	if( $op == "restore" ){
		if( $permessi[$nome_modulo] == 'rw' ){
			$tmp = $_FILES['restore_file']['tmp_name'];
			$filename = $_FILES['restore_file']['name'];
			$filetype = $_FILES['restore_file']['type'];
			$size = $_FILES['restore_file']['size'];
			$type = $_POST['type'];

			//importazione file temporaneo uploadato nel db
			$dbo->multiQuery( $tmp );
			array_push( $infos, "<big>Dati importati correttamente!</big><br/><em>Nome file: $filename<br/>Dimensione: $size bytes</em>" );
		}
	}

Ho provato il ripristino dopo questa modifica e sembra tutto ok. Non so se questo è il modo corretto per fare il ripristino o se ci sono altri motivi perchè prima non riuscivo ad eseguirlo.

Saluti
Saluti

Per ogni problema complesso c'è una risposta che è chiara, semplice e sbagliata [H.L. Mencken]

Avatar utente
fabiop82
Messaggi: 896
Iscritto il: 27 mar 2012 19:27
Località: Padova
Contatta:

Re: Ripristino backup versione 1.1.8RC2

Messaggio da fabiop82 »

Ciao nitrotore,
grazie per la segnalazione e per il codice!
programmatore freelance - Padova
STAFF OpenSTAManager
http://www.fpsoftware.net

Rispondi