Remplir .htpasswd avec base de données

nuts255 -  
 Pwoned -
Bonjour,
Nous avons décidé de protéger un des répertoires de notre site Internet.
Nous utilisons .htaccess et . htpasswd . Mais nous devons créer 200 comptes environs et je me vois mal en train de remplir ligne pas ligne et un par un le fichier .htpasswd.
J'ai un fichier excel comprenant le nom et le mot de passe des 200 abonnés.
Y a t il un moyen rapide de compléter le fichier .htpasswd ?
En fait ce qui me coince c'est le mot de passe crypté..
Merci
A voir également:

13 réponses

nuts255 Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   2
 
Donc en clair..
Je me crée une base de données SQL ..
MAis alors comme je suis une b.... pour le PHP.. Tout le reste me parait, comment dire infaisable..
Tu peux me donner le script entier ?
Si tu ne peux pas .. Pas grave.. J'essaierai de me débrouiller !
En tout cas Merci
1
Pwoned
 
OK...
Alors...
Voici la base, il y aura peut-être des petites choses à changer selon ton serveur...
<?php
$connect = mysql_connect("monserveur.serveur.com", "monnomsql", "monpasssql");
mysql_select_db("mabase", $connect);
$res = mysql_query("SELECT login,pass FROM tableutilisateurs WHERE 1", $connect);
while($tab = mysql_fetch_assoc($res))
{
echo($tab['login'].":".crypt($tab['pass'])."<br />\n");
}
mysql_free_result($res);
?>

Ce script se connecte à ta base SQL (serveur monserveur.serveur.com, login SQL monnomsql, pass SQL monpasssql), choisit la base de données (base mabase), récupère les login/pass de tout le monde (dans la table tableutilisateurs, colonnes login/pass) et les affiche sur une page web sous la forme login:passcrypté.
Il te suffit de faire un copier/coller de la page (pas sa source) et c'est bon.
0
Pwoned
 
Bonjour,

Tu parles d'une base de données ?

Je vais partir du principe que tu en as une...

Alors, un petit script en PHP permettra de générer le contenu du htpasswd :
-conenxion à la base de données
-requête pour obtenir tous les login/pass
-une boucle qui parcours le tableau avec pour contenu : echo($lelogin.":"crypt($lepass)"<br />");

Tu envoi ce script, tu le charge avec ton navigateur (beuark ! chrome !) et tu fais un copier/coller de la page dans ton htpasswd.
0
nuts255 Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   2
 
Sérieusement
Je te remercie...
C'est super..
Je vais essayer tout à l'heure
@+
0
nuts255 Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   2
 
Re bonsoir,
J'ai un petit soucis dans le crytage du mot de passe.
En fait le cryptage devrait etre en MD5.
Sinon le script fonctionne
Juste que le cryptage ne semble pas compatible
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Pwoned
 
Salut,

Désolé du retard...

Tu as besoin de MD5 ? Il me semblait que APACHE demandait crypt(), mais bon...
Pour le MD5, tu peux tout simplement utiliser la fonction md5().
Elle fonctionne comme crypt(), mais retourne le hash MD5 du paramètre.

Sinon, il existe aussi une fonction en PHP qui est chargée de hasher un texte selon l'algo de ton choix : la fonction hash().
Utilisation :
$monhash = hash($algo, $textedebase).
Exemple :
hash("sha256", $salut);
retourne le hash SHA256 du texte contenu dans la variable $salut.

Si tu utilise l'algo que je t'ai donné, tout ce que tu as a faire pour obtenir du MD5, c'est remplacer
echo($tab['login'].":".crypt($tab['pass'])."<br />\n");
par
echo($tab['login'].":".md5($tab['pass'])."<br />\n");
ou bien
echo($tab['login'].":".hash("md5", $tab['pass'])."<br />\n");
0
nuts255 Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   2
 
Merci pour ton aide
Mais le problème persiste.
En fait voici le genre de mot de passe que je veux créer
Login : ABOUBI
mdp : 65bs

Normalement cela devrait être
ABOUBI:W2/7ftYX8gFqY (fait avec un generateur de mdp d'un site internet)
Et le script de la page me donne
ABOUBI:$2a$05$aqEx9JVZC/SP5xW40pd8buVsDNoLum.ixaJgRzVMKwqGCj/aHVlAe

Hors le mot de passe fournit par le génrateur de mdp du site fonctionne
et pas l'autre
Je te solicite encore un peu
Merci
0
TheAS3Fan
 
OK...
Tu peux me donner l'adresse de ton générateur stp ?
0
Pwoned
 
Devancé !

Alors, oui, tu peux donner l'URL de ton générateur ?
Histoire que je vois quel algo il utilise ?
0
nuts255 Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   2
 
https://shop.alterlinks.com/htpasswd/passwd.php

C'est un générateur md5 il parait d'apres l'administrateur réseau. Et c'est vrai que les mots de passes créent par ce générateur fonctionnent
Va savoir !
Merci
0
Pwoned
 
http://aspirine.org/htpasswd.html

Dis-moi si les mots de passes cryptés par ce site fonctionnent bien chez toi (pour l'algorithme, essaye avec crypt, puis avec MD5).
0
Pwoned
 
Essaye de remplacer :
echo($tab['login'].":".crypt($tab['pass'])."<br />\n");

par :
echo($tab['login'].":".crypt($tab['pass'],CRYPT_MD5)."<br />\n");

Et dis-moi si les pass cryptés fonctionnent...
0
Pwoned
 
Attends, je me suis trompé !

en fait, essaye de remplacer par ça :
echo($tab['login'].":".crypt($tab['pass'], CRYPT_STD_DES)."<br />\n");

C'est le cryptage UNIX basé sur DES.

C'est celui qui ne marche pas qui est basé sur MD5.

D'après mes tests, les pass générés avec le DES standard sont similaires à ceux de ton générateur.
0
nuts255 Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   2
 
C'est à n'y rien comprendre
En fait la ligne suivante :
echo($tab['login'].":".crypt($tab['pass'],CRYPT_MD5)."<br />\n");
fonctionne

Merci encore pour votre aide
C'est super efficace
0
Pwoned
 
Ben là, je dois dire que je suis surpris !

Mais bon, au moins, ça a fini par marcher...

dr ;)
0