Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

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


Information sur la source

Description

Cliquez pour voir la capture en taille normale
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

  • <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>
<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
 

Commentaires et avis

signaler à un administrateur
Commentaire de sjon le 04/07/2005 12:19:02

Sael og blesud

Qu'est-ce que des fichiers *.mpeg *.mp3 *.wma ... etc ... font dans les répertoires system de µsoft ... Autrement évitez d'user des balises <font ...> ... etc ... veuillez leurs préférer le css ...

Sigurjón Bírgir Sigurðssón aka Sjón

signaler à un administrateur
Commentaire de wizard512 le 04/07/2005 14:12:20

j'avai pa de temp pour les css et les fichier .mp3 des foi ien a dans le system32

signaler à un administrateur
Commentaire de wizard512 le 04/07/2005 14:13:04

vous pouver svp tous donner une note ;p

signaler à un administrateur
Commentaire de sjon le 04/07/2005 14:59:39

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

signaler à un administrateur
Commentaire de sjon le 04/07/2005 15:08:19

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

signaler à un administrateur
Commentaire de coucou747 le 04/07/2005 16:27:00

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...

signaler à un administrateur
Commentaire de malalam le 05/07/2005 12:02:28 administrateur CS

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 ().

signaler à un administrateur
Commentaire de coucou747 le 05/07/2005 12:06:13

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...

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,25 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.