SCRIPT QUI GÉNÈRE UN FICHIER .HTPASSWD ET UN FICHIER .HTACCESS
monoceros01
Messages postés420Date d'inscriptionvendredi 28 novembre 2003StatutMembreDernière intervention20 mars 2006
-
11 nov. 2005 à 15:39
drikus
Messages postés3Date d'inscriptiondimanche 6 mars 2005StatutMembreDernière intervention15 juillet 2013
-
29 mars 2012 à 11:46
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
drikus
Messages postés3Date d'inscriptiondimanche 6 mars 2005StatutMembreDernière intervention15 juillet 2013 29 mars 2012 à 11:46
avec et/ou "pour" wamp (pour wamp, il faut entrer le mot de passe crypté, il ne fait pas la conversion !)
drikus
Messages postés3Date d'inscriptiondimanche 6 mars 2005StatutMembreDernière intervention15 juillet 2013 29 mars 2012 à 11:44
comment faire fonctionner cela avec wamp, svp ? !!!!!!!!
captulipe
Messages postés1Date d'inscriptionmardi 12 janvier 2010StatutMembreDernière intervention12 janvier 2010 12 janv. 2010 à 10:39
Très bien! merci...
FeeNyx
Messages postés1Date d'inscriptiondimanche 24 décembre 2000StatutMembreDernière intervention17 juin 2009 17 juin 2009 à 11:27
Merci beaucoup... c'est super!
cs_chapata
Messages postés214Date d'inscriptionmercredi 2 février 2005StatutMembreDernière intervention 9 avril 20105 30 oct. 2006 à 15:26
1 seul mot ... Nickel !!! et merci (ca fait 2 ... lol)
ChaPaTa
cs_milo2009
Messages postés180Date d'inscriptionvendredi 4 juillet 2003StatutMembreDernière intervention 8 août 20111 20 oct. 2006 à 16:30
Ok, desolé,
J'ai compris que cela securise le dossier ou il est, et ses sous-dossier.
Cependant, j'ai toujours un probleme.
J'utilise une anim flash qui charge les images contenus dans mon dossier protégé et quand l'anim ce lance, il demande le code !
Quelqu'un sait comment faire pour qu'il ne le demande pas lorsque c'es l'anim qui appelle les images ?
Merci
cs_milo2009
Messages postés180Date d'inscriptionvendredi 4 juillet 2003StatutMembreDernière intervention 8 août 20111 20 oct. 2006 à 16:17
Salut, ca fonctionne bien sur free,
cependant, je voudrais que les gens puissent naviguer sans rentrer de code, mais que la fenetre du code apparaisse quand ils veulent acceder au dossier images par la barre de navigation.
Merci de votre aide
lisehg
Messages postés1Date d'inscriptionmardi 5 septembre 2006StatutMembreDernière intervention 5 septembre 2006 5 sept. 2006 à 22:29
Je ne voie pas les fichiers .htpasswd et .htaccess dans mon dossier sur le serveur! ou il se sont cree?? . J'ai utilise le fichier creation.php.
Je ne pas ete capable de acceder a ma page avec le login que j'ai cree, et maintenent je ne peut pas rentrer....!help!
Merci
cs_jalol
Messages postés12Date d'inscriptiondimanche 31 octobre 2004StatutMembreDernière intervention21 décembre 2005 21 déc. 2005 à 19:12
Je précise que dans cette source modifiée, le script s'appelle "creation_htaccess.php" et non plus "creation.php", et ce afin d'éviter de le confondre avec d'autres fichiers...
cs_jalol
Messages postés12Date d'inscriptiondimanche 31 octobre 2004StatutMembreDernière intervention21 décembre 2005 21 déc. 2005 à 19:09
Si je puis me permettre, j'ai modifié le code de cette source afin de pouvoir utiliser ce script sans problème sur Free. J'ai également corrigé un bug lié à la génération du fichier .htpasswd :
<?php
session_start();
//créer un fichier
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_htaccess.php");
$chemin=preg_replace("!creation_htaccess.php!", "", $chemin);
$_SESSION['adresse']=$chemin;
$_SESSION['nb']=$_POST['nb'];
$_SESSION['phrase']=stripslashes ($_POST['mdp']);
$_SESSION['free']=$_POST['free'];
$i=0;
echo'<code>Fabriquer un .htaccess et un .htpasswd
The_Template
Messages postés16Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention19 décembre 2005 15 nov. 2005 à 18:04
Effectivement, sous windows il ne faut pas crypter les mots de passe (si on coche la case free ca marche^^)
Effectivement, je ne savais pas que les .htaccess de free avaient d'autres singularitées, peut-être que ca ne marche pas très bien sous free mais je n'ai pas encore essayé. Donc si quelqu'un essaie...
Les bougres ils veulent soi-disant simplifier mais en fait ils compliquent tout...
monoceros01
Messages postés420Date d'inscriptionvendredi 28 novembre 2003StatutMembreDernière intervention20 mars 2006 15 nov. 2005 à 11:57
Mini faq de free :
Question : J'ai lu la documentation d'Apache et il n'est fait nulle part mention de PerlSetVar AuthFile et il y est dit qu'il faut donner les mots de passe cryptés dans la table d'utilisateurs !
Réponse : Nous avons modifié Apache afin d'en permettre une utilisation simple pour tous, ce qui explique la directive PerlSetVar AuthFile. Elle est obligatoire et ne peut pas être remplacée par les équivalents d'Apache.
Donc voilà, ils modifient des trucs...
cs_jalol
Messages postés12Date d'inscriptiondimanche 31 octobre 2004StatutMembreDernière intervention21 décembre 2005 15 nov. 2005 à 10:09
Je suis sous Windows XP, et en ligne sur mon serveur, c'est du Linux (Debian je crois)
michel_roger
Messages postés60Date d'inscriptionlundi 6 octobre 2003StatutMembreDernière intervention18 août 2006 15 nov. 2005 à 10:06
C'est peut être aussi la version de l'OS ? Unix, Windows, Linux, ...
cs_jalol
Messages postés12Date d'inscriptiondimanche 31 octobre 2004StatutMembreDernière intervention21 décembre 2005 14 nov. 2005 à 10:35
Voilà une source bien pratique ! Je sens que je vais pas mal m'en servir...
Cela marche parfaitement en ligne, mais je n'arrive pas à le faire fonctionner correctement en local. Je m'explique : La génération des fichiers marche parfaitement, mais mon mot de passe n'est pas reconnu après et je ne peux pas accéder à mon dossier.
Apparemment, en local les mdp cryptés ne fonctionnent pas. Mais bon, on s'en fout un peu (lol)
J'utilise Wamp Server.
Merci :)
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 11 nov. 2005 à 18:00
free... ça vient pas plutot de leur version d'apache qui serait différente de la tienne ?
monoceros01
Messages postés420Date d'inscriptionvendredi 28 novembre 2003StatutMembreDernière intervention20 mars 2006 11 nov. 2005 à 15:39
- Tu as des tags <? au lieu de <?php
-
sert à rien et tu n'as pas de balises fermantes
- Tu ne vérifies pas si tes index de $_POST sont définis (isset()) avant de vérifier leur contenu
- Si t'es chez free, non seulement le mot de passe n'est pas crypté, mais le .htaccess a une syntaxe différente (voir : http://support.free.fr/web/pperso/restriction_acces.html )
- Une balise en majuscule (j'l'ai vu :p) ligne 42
- Evites les
multiples, c'est moche, et le css existe pour ça
- Tu répète deux fois le même code c'est dommage (106-114 et 126-135). Tu peux éviter ça de cette façon :
<?php
$etape = (isset($_GET['etape'])) ? $_GET['etape'] : 0 ;
if($etape === 1) {/*traitement et affichage du second formulaire*/}
else if($etape === 2) {/*traitement et création des fichiers*/}
else {/*affichage du premier formulaire*/}
?>
- A la place des boucles while() ligne 30 et 82, tu peux utiliser des boucles for() qui sont faites pour :
30 : for($i=1; $i<$_POST['nb']; $i++) {}
82 : for($i=1; $i<$_SESSION['nb']; $i++) {}
29 mars 2012 à 11:46
29 mars 2012 à 11:44
12 janv. 2010 à 10:39
17 juin 2009 à 11:27
30 oct. 2006 à 15:26
ChaPaTa
20 oct. 2006 à 16:30
J'ai compris que cela securise le dossier ou il est, et ses sous-dossier.
Cependant, j'ai toujours un probleme.
J'utilise une anim flash qui charge les images contenus dans mon dossier protégé et quand l'anim ce lance, il demande le code !
Quelqu'un sait comment faire pour qu'il ne le demande pas lorsque c'es l'anim qui appelle les images ?
Merci
20 oct. 2006 à 16:17
cependant, je voudrais que les gens puissent naviguer sans rentrer de code, mais que la fenetre du code apparaisse quand ils veulent acceder au dossier images par la barre de navigation.
Merci de votre aide
5 sept. 2006 à 22:29
Je ne pas ete capable de acceder a ma page avec le login que j'ai cree, et maintenent je ne peut pas rentrer....!help!
Merci
21 déc. 2005 à 19:12
21 déc. 2005 à 19:09
<?php
session_start();
//créer un fichier
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_htaccess.php");
$chemin=preg_replace("!creation_htaccess.php!", "", $chemin);
$_SESSION['adresse']=$chemin;
$_SESSION['nb']=$_POST['nb'];
$_SESSION['phrase']=stripslashes ($_POST['mdp']);
$_SESSION['free']=$_POST['free'];
$i=0;
echo'<code>Fabriquer un .htaccess et un .htpasswd
Etape 2
<form method="post" action="creation_htaccess.php?etape=2">';
while($i!=$_POST['nb'])
{
$i++;
echo'
Utilsateur'.$i.'
Pseudo,
,
Mot de passe,
<hr/>';
}
echo'</form>';
}
else
{
?>
<code>Fabriquer un .htaccess et un .htpasswd
Etape 1 - Tout les champs sont obligatoires
<form method="post" action="creation_htaccess.php?etape=1">
Nombre de personnes autorises pénétrer
Phrase d'accueil de l'invite de mot de passe
Etes vous chez free ?
Oui
Non
</form>
<?
}
}
elseif($_GET['etape']==2)
{
if(isset($_SESSION['nb']) and isset($_SESSION['phrase']))
{
$phrase=$_SESSION['phrase'];
$adresse=( $_SESSION['free'] != 'oui' ) ? $_SESSION['adresse'] : preg_replace ('!' . $_SERVER['DOCUMENT_ROOT'] . '!', '', $_SESSION['adresse']);
$htpasswd='';
$htaccess=( $_SESSION['free'] != 'oui' ) ? "AuthName "$phrase"
AuthType Basic
AuthUserFile "$adresse.htpasswd"
Require valid-user" : 'PerlSetVar AuthFile ' . $adresse . '.htpasswd
AuthName "' . $phrase . '"
AuthType Basic
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."\n";
}
nouveau(".htaccess", $htaccess);
nouveau(".htpasswd", $htpasswd);
echo '.htaccess - Contenu du fichier cr
'.$htaccess.'
<hr/>
.htpasswd - Contenu du fichier cr
'.$htpasswd;
unlink("creation_htaccess.php");
session_destroy();
}
else
{
?>
<code>Fabriquer un .htaccess et un .htpasswd
<form method="post" action="creation_htaccess.php?etape=1">
Nombre de personnes autorises pééntrer
Phrase d'accueil de l'invite de mot de passe
Etes vous chez free ?
Oui
Non
</form>
<?
}
}
}
else
{
?>
<code>Fabriquer un .htaccess et un .htpasswd
Etape 1
<form method="post" action="creation_htaccess.php?etape=1">
Nombre de personnes autorises pénétrer
Phrase d'accueil de l'invite de mot de passe
Etes vous chez free ?
Oui
Non
</form>
<?
}
?>
20 nov. 2005 à 17:44
15 nov. 2005 à 18:04
Effectivement, je ne savais pas que les .htaccess de free avaient d'autres singularitées, peut-être que ca ne marche pas très bien sous free mais je n'ai pas encore essayé. Donc si quelqu'un essaie...
Les bougres ils veulent soi-disant simplifier mais en fait ils compliquent tout...
15 nov. 2005 à 11:57
Question : J'ai lu la documentation d'Apache et il n'est fait nulle part mention de PerlSetVar AuthFile et il y est dit qu'il faut donner les mots de passe cryptés dans la table d'utilisateurs !
Réponse : Nous avons modifié Apache afin d'en permettre une utilisation simple pour tous, ce qui explique la directive PerlSetVar AuthFile. Elle est obligatoire et ne peut pas être remplacée par les équivalents d'Apache.
Donc voilà, ils modifient des trucs...
15 nov. 2005 à 10:09
15 nov. 2005 à 10:06
14 nov. 2005 à 10:35
Cela marche parfaitement en ligne, mais je n'arrive pas à le faire fonctionner correctement en local. Je m'explique : La génération des fichiers marche parfaitement, mais mon mot de passe n'est pas reconnu après et je ne peux pas accéder à mon dossier.
Apparemment, en local les mdp cryptés ne fonctionnent pas. Mais bon, on s'en fout un peu (lol)
J'utilise Wamp Server.
Merci :)
11 nov. 2005 à 18:00
11 nov. 2005 à 15:39
-
- Tu ne vérifies pas si tes index de $_POST sont définis (isset()) avant de vérifier leur contenu
- Si t'es chez free, non seulement le mot de passe n'est pas crypté, mais le .htaccess a une syntaxe différente (voir : http://support.free.fr/web/pperso/restriction_acces.html )
- Une balise en majuscule (j'l'ai vu :p) ligne 42
- Evites les
multiples, c'est moche, et le css existe pour ça
- Tu répète deux fois le même code c'est dommage (106-114 et 126-135). Tu peux éviter ça de cette façon :
<?php
$etape = (isset($_GET['etape'])) ? $_GET['etape'] : 0 ;
if($etape === 1) {/*traitement et affichage du second formulaire*/}
else if($etape === 2) {/*traitement et création des fichiers*/}
else {/*affichage du premier formulaire*/}
?>
- A la place des boucles while() ligne 30 et 82, tu peux utiliser des boucles for() qui sont faites pour :
30 : for($i=1; $i<$_POST['nb']; $i++) {}
82 : for($i=1; $i<$_SESSION['nb']; $i++) {}
Voilà :)