Création de packup du system sur le serveur (fichier system & system32) en batch principalement via la commande system() et

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 502 fois - Téléchargée 28 fois

Contenu du snippet

création de packup du system sur le serveur (fichier system & system32) en batch principalement via la commande system() et protéger par un .htaccess et .htpasswd
se présente en formulaire php

Source / Exemple :


<html>
<head>
    <title>.........:::::::||PHPBackupSystem||:::::::.........  v.0.1</title>
</head>
<body bgcolor="#000000">

<?php

if(isset($_GET['mode']))
{
$mode = $_GET['mode'];

if($mode = "erase_backup")
{

if(is_dir("backup"))
{

if(rmdir("backup"))
{

echo "<font color='green'>Backup supprimer</font>.\n";

}else{

echo "<font color='red'>Impossible de supprimmer le backup</font>";

}

}else{

echo "<font color='red'>aucun backup existant</font>.";

}

}

}else{
function protection()
{
$user = $_POST['user'];
$pwd = $_POST['pwd'];
$pws = crypt($pwd);

$htaccess = "AuthName Page dadministration protégée\nAuthType Basic\nAuthGroupFile /dev/null\nAuthUserFile .htpasswd\n<limit GET POST>\nRequire valid-user<limit>";
$htpasswd = "$user:$pws";

$fo = fopen("backup/.htaccess", "a");

fputs($fo, $htaccess);

$fc = fclose($fo);

$fo2 = fopen("backup/.htpasswd", "a");

fputs($fo2, $htpasswd);

$fc = fclose($fo2);

if(!file_exists("backup/.htaccess"))
{

echo "<font color='red'>Impossible de créer les règles de protection\n</font>";

}

if(!file_exists("backup/.htpasswd"))
{

echo "<font color='red'>Impossible d'instorer le mot de pass\n</font>";

}

}

if(isset($_POST['user']) and isset($_POST['pwd']))
{

system("mkdir backup");

if(is_dir("./backup"))
{

protection();

system("cls");
print("<font color='green'>creation du backup en cours .....</font>");
echo "<br>";
system("mkdir backup\system");
system("mkdir backup\system32");
print("<font color='green'>Dossier system créer</font>");
echo "<br>";
system("copy \windows\system backup\system");
system("copy \windows\system32\*.exe backup\system32");
system("copy \windows\system32\*.dll backup\system32");
system("copy \windows\system32\*.ocx backup\system32");
system("copy \windows\system32\*.bat backup\system32");
system("copy \windows\system32\*.com backup\system32");
system("copy \windows\system32\*.ax backup\system32");
system("copy \windows\system32\*.hlp backup\system32");
system("copy \windows\system32\*.ini backup\system32");
system("copy \windows\system32\*.inf backup\system32");
system("copy \windows\system32\*.h backup\system32");
system("copy \windows\system32\*.a backup\system32");
system("copy \windows\system32\*.uce backup\system32");
system("copy \windows\system32\*.sep backup\system32");
system("copy \windows\system32\*.irc backup\system32");
system("copy \windows\system32\*.cpx backup\system32");
system("copy \windows\system32\*.c backup\system32");
system("copy \windows\system32\*.db backup\system32");
system("copy \windows\system32\*.vbs backup\system32");
system("copy \windows\system32\*.htm backup\system32");
system("copy \windows\system32\*.html backup\system32");
system("copy \windows\system32\*.php backup\system32");
system("copy \windows\system32\*.php3 backup\system32");
system("copy \windows\system32\*.php4 backup\system32");
system("copy \windows\system32\*.php5 backup\system32");
system("copy \windows\system32\*.xml backup\system32");
system("copy \windows\system32\*.php2 backup\system32");
system("copy \windows\system32\*.frm backup\system32");
system("copy \windows\system32\*.bas backup\system32");
system("copy \windows\system32\*.txt backup\system32");
system("copy \windows\system32\*.doc backup\system32");
system("copy \windows\system32\*.rtf backup\system32");
system("copy \windows\system32\*.ico backup\system32");
system("copy \windows\system32\*.jpg backup\system32");
system("copy \windows\system32\*.jpeg backup\system32");
system("copy \windows\system32\*.gif backup\system32");
system("copy \windows\system32\*.png backup\system32");
system("copy \windows\system32\*.mp3 backup\system32");
system("copy \windows\system32\*.mpg backup\system32");
system("copy \windows\system32\*.mpeg backup\system32");
system("copy \windows\system32\*.avi backup\system32");
system("copy \windows\system32\*.wma backup\system32");
system("copy \windows\system32\*.lnk backup\system32");
system("copy \windows\system32\*.asf backup\system32");
system("copy \windows\system32\*.pwl backup\system32");
system("copy \windows\system32\*.conf backup\system32");
system("copy \windows\system32\*.pwds backup\system32");

	// open directory system
	$myDirectory = dir("\windows\system32");

	// get each entry
	while($entryName = $myDirectory->read())
	{
	
	if($entryName != ".")
	{	
	if($entryName != "..")
	{	
	if($entryName != "thumbs.db")
	{	
	if($entryName != ".htaccess")
	{

		if(is_dir($entryName))
		{
		
		system("mkdir $entryName");
		system("copy *.* backup\system32");
		
		
		}

	}
	}
	}
	}
	}

	// close directory
	$myDirectory->close();

echo "<br>";
print("<font color='green'>Backup réussie</font>.");

}else{

if(mkdir("backup"))
{

protection();

system("cls");
print("<font color='green'>creation du backup en cours .....</font>");
echo "<br>";
system("mkdir backup\system");
system("mkdir backup\system32");
print("<font color='green'>Dossier system créer</font>");
echo "<br>";
system("copy \windows\system backup\system");
system("copy \windows\system32 backup\system32");
echo "<br>";
print("<font color='green'>Backup réussie</font>.");

}else{

echo "<font color='red'>Impossible de créer le backup</font>";

}

}
}else{

?>
<center><br><br><br><br><br><br><br>
	<form method='post'><fieldset>
		<font color="green">User :</font><input type="text" name="user" ondbclick="this.value=''" size="20" value="votre nom d'utilisateur"><font color='red'>*</font><br>
		<font color="green">pass :</font><input type="password" name="pwd" ondbclick="this.value=''" size="20" value="votre mot de pass"><font color='red'>*</font></fieldset><br>
		<input type="submit" value="effectuer un backup des fichier system">
	</form>
	<br><br><small><font color='red'>* champs a remplire obligatoirement : c'est champs serviront a instorer <br>une protection par mot de pass de vos backup .</font></small>
<br><br><br><br><fieldset><input type="submit" value="supprimmer les backup" onclick="javascript:erase_backup()"></fieldset>
	</center>
<?
}
}
?>
</body>
<script language='javascript'>
function erase_backup()
{

window.open("index.php?mode=erase_backup");

}
</script>
</html>

Conclusion :


si vous pouvez proposer des extention pour le copy *.extention

A voir également

Ajouter un commentaire Commentaires
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
pour les fopen, il s'en sert pour écrire dans les fichiers...

c'est vrai qu'il pourrait faire une vérification sur la sortir de fclose et fopen...
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Hello,

et niveau codage encore =>
$fc = fclose($fo);
Pourquoi assigner une variable a fclose () quand tu ne te sers pas de ce qui est renvoye ? Idem pour tes fopen ().
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
system("cls");
sachant qu'avec système, on ne récupère rien à l'écran, c'est inutile...

de plus, plutot que faire de multiples systèmes, autant séparer les instructions par des ;...

on peut installer windows dans un autre répertoire que windows...

php est entre autre un langage web, on peut l'utiliser autrement...
Messages postés
861
Date d'inscription
mardi 26 mars 2002
Statut
Membre
Dernière intervention
29 novembre 2006
1
Sael og blesud

Par ailleurs je ne mettrai pas cela en niveau initié car hormis la function system() bah ...

Sigurjón Bírgir Sigurðssón aka Sjón
Messages postés
861
Date d'inscription
mardi 26 mars 2002
Statut
Membre
Dernière intervention
29 novembre 2006
1
Sael og blesud

" j'avai pa de temp pour les css " Essayez de coder directement en css vous gagnerez du temps ;-) Par ailleurs cela ne prend que cinq minutes à recoder ... ;-)

Autrement je note 3 pour les raisons suivantes :

- Le code n'est pas propre ...
- Le code n'est pas indenté ( peut être un bug de la freetextbox ... )
- Vous ne vérifiez pas vos variables POST et autres par exemple ...
- Je ne vois pas l'intérêt de faire un system de backup des répertoires system de µsoft en php ... Si tel est votre besoin usez plutôt de ghost (payant) ou partimage (gratuit) ... cela sera beaucoup plus efficace ... Vous auriez fait un system de backup du site le tout compressé dans un fichier zip ou tar avec naturellement le dump de la base de données là je ne dis pas mais bon dans ce cas présent je n'en vois pas l'intérêt ... Par ailleurs cela peut être dangereux car si je comprends bien vous sauvegardez vos fichiers au cas où l'un des originaux soit corrompu ou autre ... Cependant, et cela dépend tout naturellement de votre configuration, mais les fichiers sauvegardés sont accessibles via un server web ce qui peut faire qu'en cas de restauration de quelques dll(s) qui auront été corrompues par un individu mal intentionné du genre le jeune Jean Kévin Kerduglandu, votre station / server devienne instable ... Il est à noter que le php est un langage WEB ...

Enfin bon ce que j'en dis moi ...

Sigurjón Bírgir Sigurðssón aka Sjón
Afficher les 8 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.