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

Soyez le premier à donner votre avis sur cette source.

Vue 19 671 fois - Téléchargée 1 716 fois

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

Ajouter un commentaire Commentaires
Messages postés
3
Date d'inscription
dimanche 6 mars 2005
Statut
Membre
Dernière intervention
15 juillet 2013

avec et/ou "pour" wamp (pour wamp, il faut entrer le mot de passe crypté, il ne fait pas la conversion !)
Messages postés
3
Date d'inscription
dimanche 6 mars 2005
Statut
Membre
Dernière intervention
15 juillet 2013

comment faire fonctionner cela avec wamp, svp ? !!!!!!!!
Messages postés
1
Date d'inscription
mardi 12 janvier 2010
Statut
Membre
Dernière intervention
12 janvier 2010

Très bien! merci...
Messages postés
1
Date d'inscription
dimanche 24 décembre 2000
Statut
Membre
Dernière intervention
17 juin 2009

Merci beaucoup... c'est super!
Messages postés
214
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
9 avril 2010
4
1 seul mot ... Nickel !!! et merci (ca fait 2 ... lol)

ChaPaTa
Afficher les 18 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.