Newsgroup: it.comp.www.php
Titolo: Niente backup...... e adesso?

Ciao a tutti
ho fatto un file.php per il backup come spiegato esaurientemente in giro 
usando systen() + dump ecc...
Ma il sistema mi risponde Warning: system() has been disabled for security 
reasons in /web/htdocs/www........./back.php on line 42
e adesso cosa faccio?
Ho le tabelle (tutte utf-8) con molti dati e per sicurezza ne ho fatto uno 
usando phpmyadmin di cui però non riesco a fare il restore probabilmente 
perchè (????) molti campi contengono apostrofi e caratteri speciali sotto 
forma di &#000; (ma non so se il morico sia questo)
Comunque prima devo risolvere il nodo backup
il codice che usavo era:
<?php
// Enter your MySQL access data
$host= '00.000.00.00.00';
$user= '99999999999';
$pass= 'asdfgjkngtg';
$db= 'hfg6ugr5';
$backupdir = 'backups';
// Compute day, month, year, hour and min.
$today = getdate();
$day = $today[mday];
if ($day < 10) {
$day = "0$day";
}
$month = $today[mon];
if ($month < 10) {
$month = "0$month";
}
$year = $today[year];
$hour = $today[hours];
$min = $today[minutes];
$sec = "00";
// Execute mysqldump command.
// It will produce a file named $db-$year$month$day-$hour$min.gz
// under $DOCUMENT_ROOT/$backupdir
system(sprintf(
'mysqldump --opt -h %s -u %s -p%s %s | gzip > %s/%s/%s-%s%s%s-%s%s.gz',
$host,
$user,
$pass,
$db,
getenv('DOCUMENT_ROOT'),
$backupdir,
$db,
$year,
$month,
$day,
$hour,
$min
));
?>
grazie

avevo trovato anche questo:
<?php
include 'config.php';
include 'opendb.php';
$tableName = 'mytable';
$backupFile = 'backup/mytable.sql';
$query = "SELECT * INTO OUTFILE '$backupFile' FROM $tableName";
$result = mysql_query($query);
include 'closedb.php';
?>
ma prima di provarlo vorrei sentire il vostro parere

 ?>
Tutto 'sto casino, per eseguire UN comando?

 ?>

quindi? 

 e adesso cosa faccio?
O lo riabiliti o se non hai i permessi chiedi all'amministratore del 
server web.

 quindi? 
Non puoi eseguire direttamente il comando?
-- 
Non tocca a noi dominare tutte le maree del mondo,
il nostro compito è di fare il possibile per la
salvezza degli anni nei quali viviamo,
sradicando il male dai campi che conosciamo.

 -- 
certamente  ma io lo volevo fare da menů 

se ti hanno disabilitato system() e quindi non hai più accesso al
comando mysqldump (prova con passthru(), ma dovrebbe aver subito la
sorte di system()) .. prova con 
http://php.html.it/script/vedi/1725/phpmysqlautobackup/

 certamente  ma io lo volevo fare da menù 
Non ho capito né l'obiezione né la risposta.

RISOLUZIONE
 con la versione 5 di PHP sono state disabilitate alcune funzioni per motivi 
di sicurezza, tra cui system().
Al suo posto può usare la funzione exec():
http://it.php.net/manual/en/function.exec.php
 

 Al suo posto può usare la funzione exec():
Ti rispondi da solo? :P
Se ha disabilitato system() avra` disabilitato anche exec(), e 
probabilmente anche diverse altre cose.
Bye.


A me sembra che quella sia la risposta del suo hoster ;)
Noi facciamo i bravi e non chiediamoci perchè ha disabilitato system()
e non exec()

 ha scritto nel
A me sembra che quella sia la risposta del suo hoster ;)
Noi facciamo i bravi e non chiediamoci perchč ha disabilitato system()
e non exec()
Bravo!
č infatti la risposta di ARUBA che condivido nel caso serva
by 

 è infatti la risposta di ARUBA che condivido nel caso serva
..e questo spiega perchè disabilitano system() e lasciano funzionare
exec().. andiamo bene
provi anche se passthru() funziona?

ma scusate in fin dei conti chi altro se non il webmaster/proprietrio del 
sito può usare sti comandi sui propri dati?

 del sito può usare sti comandi sui propri dati?
Il pirata che ti buca il sito e riesce a farti l'upload di un suo 
eseguibile sovrascrivendo quello che stai cercando di chiamare.
Non e` banale, e bisogna conoscere bene il software che si va a craccare 
e i suoi bug, oppure procedere a tentativi, ma se c'e` un buco da qualche 
parte in un sito importante, stai tranquillo che prima o poi lo sfruttano.
Bye.


dici bene....
Penso che prima o poi si dovrebbe parlare ESAURIENTEMENTE  di sti 
buchi............. 

 del sito può usare sti comandi sui propri dati?
Il fatto è proprio che queste funzioni potrebbero essere usate anche da 
un attaccante , se ti trova una falla nel sito . Ad esempio un uso errato 
di eval() .
Detto questo, disabilitare system e lasciare abilitata exec non ha molto 
senso.
O mi sono perso qualcosa?

 buchi.............
La sicurezza non e` uno stato, ma un flusso.
Non esiste modo di "mettere in sicurezza" qualcosa. Esiste solo il modo 
di "cercare di mantenere in sicurezza" qualcosa.
Che sia un server, un client, un software o un hardware, un S.O., uno 
script, un eseguibile o un sito.
Non esistono buchi che restano tali per sempre. Ce ne sono sempre di 
nuovi, e potenzialmente ogni riga di codice che scrivi puo` introdurre un 
bug, anche se sembra innocua, magari a causa di un bug da altre parti.
Quindi non si puo` parlare esaurientemente di buchi.
Devi tenerti informato sui prodotti che usi, fare auditing di quello che 
scrivi tu, e possibilmente far vedere il tuo codice a piu` persone 
possibile e correggere velocemente i bug.
Bye.

 possibile e correggere velocemente i bug.
E, visto che qualcuno l'ha nominato, evitare di usare eval()