Script qui génère un fichier .htpasswd et un fichier .htaccess

Description

Bonjour ! Ceci est un petit script destiné à se simplifier un peu la vie. On l'envoie sur le dossier que l'on veut protéger, on suit les instructions -> un fichier .htpasswd et un fichier .htaccess sont générés (le script lui-même "s'auto-destrusant" à la fin du processus)

Source / Exemple :


<?php
session_start();

	function nouveau($emplacement, $contenu)
	{
	
	$fichier = fopen($emplacement, "w+");
	
	fputs($fichier, $contenu);
	fclose($fichier); 
	
	}
	
if(isset($_GET['etape']))
{
	if($_GET['etape']==1)
	{
		if($_POST['nb']!=''  and $_POST['mdp']!='')
		{
			$chemin=realpath("creation.php");
			$chemin=preg_replace("!creation.php!", "", $chemin);
			$_SESSION['adresse']=$chemin;
			$_SESSION['nb']=$_POST['nb'];
			$_SESSION['phrase']=$_POST['mdp'];
			$_SESSION['free']=$_POST['free'];
			$i=0;
			echo'<code>Fabriquer un .htaccess et un .htpasswd<br/>
			Etape 2<br/>
			<form method="post" action="creation.php?etape=2">';
			while($i!=$_POST['nb'])
			{
			$i++;
			echo'
			
					Utilsateur'.$i.'<br/>
					<table>
						<tr>
							<td>Pseudo</td>
							<td><input type="text" name="pseudo'.$i.'"/><br/></td>
						</tr>
							<td>Mot de passe</td>
							<TD><input type="text" name="mdp'.$i.'"/><br/></td>
						</tr>
					</table>
					<hr/>';
				
			}
			echo'<input type="submit" value="Continuer" style="background-color:#e0e0e0;color:black;"/></form>';
		}
		else
		{
		?>
		<code>Fabriquer un .htaccess et un .htpasswd<br/>
		Etape 1 - Tout les champs sont obligatoires<br/>
				<form method="post" action="creation.php?etape=1">
				Nombre de personnes autorisées à pénétrer <br/><input type="text" name="nb" size='5'/><br/>
				Phrase d'acceuil de l'invite de mot de passe <br/><input type="text" name="mdp" size='50'/><br/>
				Etes vous chez free ? <br/>
				<input type="radio" name="free" value="oui" /> Oui <br/>
				<input type="radio" name="free" value="non"  checked="checked"/> Non <br/>
				<input type="submit" value="Continuer" style="background-color:#e0e0e0;color:black;"/>
			</form>
		<?	
		}
	
	}
	elseif($_GET['etape']==2)
	{
		if(isset($_SESSION['nb']) and isset($_SESSION['phrase']))
		{
			$phrase=$_SESSION['phrase'];
			$adresse=$_SESSION['adresse'];
			
			$htpasswd='';
			
			$htaccess="AuthName \"$phrase\"
AuthType Basic
AuthUserFile \"$adresse.htpasswd\"
Require valid-user";
		
			$i=0;
			while($i!=$_SESSION['nb'])
			{
				$i++;
				$pseudo='pseudo'.$i;
				$mdp='mdp'.$i;
				if($_SESSION['free']!='oui'){$crypto=crypt($_POST[$mdp]);}else{$crypto=$_POST[$mdp];}
				$htpasswd=$htpasswd.$_POST[$pseudo].':'.$crypto;
			
			}
			nouveau(".htaccess", $htaccess);
			nouveau(".htpasswd", $htpasswd);
			
			echo '<u>.htaccess - Contenu du fichier créé</u><br/><br/>'.$htaccess.'<br/><hr/><br/>
			<u>.htpasswd - Contenu du fichier créé</u><br/><br/>'.$htpasswd;
			
			
			unlink("creation.php"); 
			session_destroy();
			
			
		}
		else
		{
		?>
		<code>Fabriquer un .htaccess et un .htpasswd<br/>
			<form method="post" action="creation.php?etape=1">
				Nombre de personnes autorisées à pénétrer <br/><input type="text" name="nb" size='5'/><br/>
				Phrase d'acceuil de l'invite de mot de passe <br/><input type="text" name="mdp" size='50'/><br/>
				Etes vous chez free ? <br/>
				<input type="radio" name="free" value="oui" /> Oui <br/>
				<input type="radio" name="free" value="non"  checked="checked"/> Non <br/>
				<input type="submit" value="Continuer" style="background-color:#e0e0e0;color:black;"/>
			</form>
		<?php	
		
		}
		
	
	}

}
else
{
?>
<code>Fabriquer un .htaccess et un .htpasswd<br/>
Etape 1<br/>
<form method="post" action="creation.php?etape=1">
	Nombre de personnes autorisées à pénétrer <br/><input type="text" name="nb" size='5'/><br/>
	Phrase d'acceuil de l'invite de mot de passe <br/><input type="text" name="mdp" size='50'/><br/>
	Etes vous chez free ? <br/>
	<input type="radio" name="free" value="oui" /> Oui <br/>
	<input type="radio" name="free" value="non"  checked="checked"/> Non <br/>
	<input type="submit" value="Continuer" style="background-color:#e0e0e0;color:black;"/>
</form>
<?php
}
?>

Conclusion :


Voilà, c'était ma première source ici ;)
NB: le script doit obligatoirement s'appeler "creation.php" pour fonctionner, à moin de modifier un peu le code

Codes Sources

A voir également

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.