Generateur de .htaccess dans le dossier à protéger

crayoncie

Nouveau WRInaute
Je voudrais proposer à qui cela peut servir une appli en php, qui permet de creer un script ".htaccess" et générer un mot de passe directement dans le dossier à protéger.
Il suffit de copier le script "access.php" listé ci-dessous dans le dossier à protéger et l'apeller par:
www.monsite.com/dossier_a_proteger/access.php
Dans les cases correspondantes inscrivez votre login, envoyez et voilà votre dossier est désormais protégé.

Code:
<?php
/* 
Application Open Source
crayonpro (copyleft) 2012
Auteur: Roberto Hamm
roberto@montbazin.com
mention obligatoire
utilisation et distribution non-commerciale libre
prevenir l'auteur d'eventuels developpements futurs
*/

$x_data = "";
$name = var_init('id');
$user = var_init('pw');
$chk  = var_init('chk');

$vsp = "<p>&nbsp;</p>";

print <<<FORM
$vsp $vsp $vsp 

<table border='0'><td width='200'></td><td width='450'>
<h3>Cr&eacute;tion des fichiers .htaccess et .htpasswd</h3><p>
<form action = 'access.php' method = 'post'>
<input type = 'text' name = 'id' value = '$name'> Identifiant <p />
<input type = 'text' name = 'pw' value = '$user'> Mot de passe <p />
<input type = 'hidden' name = 'chk' value = 'ok'>
<input type = 'submit' value = 'Activer'></form>
FORM;

if($chk == "ok"){
$pass = crypt($user, base64_encode($user));
$x_data = "$name:$pass";

echo "<hr />ID : $name<br />";
echo "PW : $user<p />";
echo "<p />htpasswd : $x_data<p />";
}
else {echo "<p />Saissez vos identifiants<p />"; exit();}
write_pass($x_data,".htpasswd");

///////////////////////////////////////////////////////////////

$thisname = "Seuement utilisateurs autorises";
$path = getcwd();
echo "Path : $path<hr />";
$y_data = "AuthName \"$thisname\"
AuthType Basic
AuthUserFile \"$path/.htpasswd\"
Require valid-user";
write_pass($y_data,".htaccess");
echo "</td></table>";
echo "</body></html>";
///////////////////////////////////////////////////////////////
function write_pass($x_data,$fname){
@unlink($fname);
touch($fname);// create new file
$open=fopen($fname,"a");
if ($open)
{ 
fwrite ($open,"$x_data");
fclose ($open);}
}

function var_init($var){
if(!isset($_REQUEST[$var])){$_REQUEST[$var] = "";}
$var = $_REQUEST[$var];
$var = addslashes($var);
return $var;}
?>
 

nickargall

WRInaute accro
Merci, sympa de partager. Ca peut être utile quand on a une interface serveur pas super pratique pour ce genre de choses :mrgreen:
 
S

StefouFR

Guest
Bonjour spout,

pas mal ton outil je garde en favoris.


PS : crayoncie je test ton script ce soir !
 

Discussions similaires

Haut