Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Cryptage e noms identique est faux

3 réponses
Avatar
romer
Bonjour,

Pour que l'accès d'un fichier ne soit accessible qu'à des adhérents
d'une asso, j'ai crypté les numéros d'un couple nom/n° d'adhérent à
l'aide d'un algorytme UNIX trouvé sur le web et mis dans un fichier
.htaccess Apache.
Il s'agit de MD5. Le codage se fait sur le n° d'adhérent.
Tout marche bien pour des centaines d'adhérents tant que leur nom est
différent.
Mais j'ai trois MARCEL (et d'autres patronymes identiques) qui ont reçu
3 n° codés.
Or un seul fonctionne. Les deux autres codes sont rejetés.

Pouvez-vous me dire si c'est normal et que faire sinon modifier les noms
qui ne fonctionnent pas ?

Merci de vos réponses.

--
A+

Romer

3 réponses

Avatar
Erwann Abalea
Bonjour,

Bernd a écrit :
Pour que l'accès d'un fichier ne soit accessible qu'à des adhérents
d'une asso, j'ai crypté les numéros d'un couple nom/n° d'adhérent à
l'aide d'un algorytme UNIX trouvé sur le web et mis dans un fichier
.htaccess Apache.
Il s'agit de MD5. Le codage se fait sur le n° d'adhérent.
Tout marche bien pour des centaines d'adhérents tant que leur nom est
différent.



Si j'ai bien compris, chaque adhérent a son login (prénom), et son mot de passe
(numéro d'adhérent).

Mais j'ai trois MARCEL (et d'autres patronymes identiques) qui ont reçu
3 n° codés.
Or un seul fonctionne. Les deux autres codes sont rejetés.



Pouvez-vous me dire si c'est normal et que faire sinon modifier les noms
qui ne fonctionnent pas ?



C'est tout à fait normal. Le login doit être unique, comme sur une machine. Il
s'agit d'un identifiant, qui est propre à chacun, un peu comme votre numéro de
sécu, ou votre numéro de carte d'identité.

A vous de trouver autre chose que le simple prénom comme identifiant. L'adresse
mail peut être un bon choix pour vous.

--
Erwann.
Avatar
romer
Erwann Abalea wrote:

> Pour que l'accès d'un fichier ne soit accessible qu'à des adhérents
> d'une asso, j'ai crypté les numéros d'un couple nom/n° d'adhérent à
> l'aide d'un algorytme UNIX trouvé sur le web et mis dans un fichier
> .htaccess Apache. Il s'agit de MD5. Le codage se fait sur le n°
> d'adhérent. Tout marche bien pour des centaines d'adhérents tant que
> leur nom est différent.

Si j'ai bien compris, chaque adhérent a son login (prénom), et son mot de
passe (numéro d'adhérent).



Oui c'est cela - en fait le nom patronymique et un n° : BERTIN:1254578

C'est tout à fait normal. Le login doit être unique, comme sur une
machine. Il s'agit d'un identifiant, qui est propre à chacun, un peu comme
votre numéro de sécu, ou votre numéro de carte d'identité.



Donc, le cryptage tient compte du nom même si celui-ci n'est pas crypté
? En effet, on obtient :

BERTIN:$apr1$BjdeqsEq$hcTT5EV190Kn.lhfOZTZs0 Je pensais que seul le n°
était crypté indépendamment du nom.

Donc si 2 homonymes se trouvent dans la liste (ou même davantage) - un
seul est crypté.

A vous de trouver autre chose que le simple prénom comme identifiant.
L'adresse mail peut être un bon choix pour vous.



En effet - on fera BertinP et BertinJ : Paul et Jean. Quant à l'adresse
mail, on va se retrouver devant le même pb : Bertin: et
Bertin: . Il faut en effet 2 éléments :un login et un
mot de passe pour les fichiers .htaccess

Merci de ces infos.

-- A+

Romer
Avatar
Erwann Abalea
Bonjour,

Tout ceci n'a pas sa place dans ce groupe, mais je réponds quand même.

Bernd a écrit :
Erwann Abalea wrote:
Pour que l'accès d'un fichier ne soit accessible qu'à des adhérents
d'une asso, j'ai crypté les numéros d'un couple nom/n° d'adhérent à
l'aide d'un algorytme UNIX trouvé sur le web et mis dans un fichier
.htaccess Apache. Il s'agit de MD5. Le codage se fait sur le n°
d'adhérent. Tout marche bien pour des centaines d'adhérents tant que
leur nom est différent.


Si j'ai bien compris, chaque adhérent a son login (prénom), et son mot de
passe (numéro d'adhérent).



Oui c'est cela - en fait le nom patronymique et un n° : BERTIN:1254578



Le login est donc le nom patronymique (BERTIN ici), le mot de passe est le
numéro (1254578 ici).

C'est tout à fait normal. Le login doit être unique, comme sur une
machine. Il s'agit d'un identifiant, qui est propre à chacun, un peu comme
votre numéro de sécu, ou votre numéro de carte d'identité.



Donc, le cryptage tient compte du nom même si celui-ci n'est pas crypté
? En effet, on obtient :



J'ai écrit que le login, ou identifiant, *devait* être unique. C'est ce qui
identifie l'utilisateur. Si vous souhaitez faire plus que simplement autoriser
des utilisateurs à se connecter, mais par exemple les identifier (pour gérer des
droits sur votre application), vous comprendrez (je pense) que cet identifiant
*doit* être unique.

BERTIN:$apr1$BjdeqsEq$hcTT5EV190Kn.lhfOZTZs0 Je pensais que seul le n°
était crypté indépendamment du nom.

Donc si 2 homonymes se trouvent dans la liste (ou même davantage) - un
seul est crypté.



???
Ce que fait htpasswd pour transformer le mot de passe en quelque chose qui a
l'air "informe", est du hachage, ici avec du sel (un diversifiant, ne vous
occupez pas de ça). Et effectivement, htpasswd n'utilise pas le
login/identifiant pour faire ce travail. Il vous le demande simplement pour
ajouter la ligne dans le fichier.

Quand un utilisateur veut s'authentifier sur le site, il fournit son login, et
un mot de passe.
Apache consulte alors le fichier déclaré comme contenant vos utilisateurs
jusqu'à trouver une ligne dont le login est celui fourni, puis compare le mot de
passe fourni avec ce qu'il a trouvé dans le fichier (en rejouant la méthode, et
en réutilisant le sel), et valide ou non l'accès en fonction du résultat de
cette comparaison. Mais il ne poursuit pas la lecture du fichier, puisqu'un
identifiant est normalement unique (et donc, il ne peut y avoir qu'un seul
"BERTIN" dans votre fichier). C'est donc normal que seul le premier fonctionne.

C'est même expliqué ici:
http://httpd.apache.org/docs/2.2/mod/mod_authn_file.html:
Each line of the user file contains a username followed by a colon, followed
by the encrypted password. If the same user ID is defined multiple times,
mod_authn_file will use the first occurrence to verify the password.

Si vous vous retrouvez avec plusieurs BERTIN dans votre fichier, c'est que vous
les avez ajoutés à la main, sans laisser le programme htpasswd faire son travail
correctement.

A vous de trouver autre chose que le simple prénom comme identifiant.
L'adresse mail peut être un bon choix pour vous.



En effet - on fera BertinP et BertinJ : Paul et Jean. Quant à l'adresse
mail, on va se retrouver devant le même pb : Bertin: et
Bertin: . Il faut en effet 2 éléments :un login et un
mot de passe pour les fichiers .htaccess



Ca n'est pas ce que je proposais. Bertin Paul et Bertin Pierre donneront tous
les deux BertinP, et vous retombez sur le même problème. De même, si vous mettez
le prénom complet, vous aurez non seulement des problèmes avec les éventuels
accents, mais vous aurez quand même des homonymes (Des "Jacques Martin", ça se
trouve par pelletées).
Quant à l'adresse mail, ça n'est évidemment pas un mot de passe valable, ça
n'est pas un élément secret; je comptais utiliser ça comme login/identifiant,
donc à la place de votre "BERTIN":
[...]
:123456
:654321
[...]

--
Erwann.