Précédent   Forum du club des développeurs et IT Pro > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 08/01/2013, 17h48   #1
DidG_like
Candidat au titre de Membre du Club
 
G_like Did
Inscription : mars 2010
Messages : 28
Détails du profil
Informations personnelles :
Nom : G_like Did

Informations forums :
Inscription : mars 2010
Messages : 28
Points : 11
Points : 11
Par défaut php et active directory 2008R2

Bonjour,

je rencontre des difficultés pour vérifier un mot de passe AD via un script PHP. Le problème se concentre sur les mots de passe avec caractères accentués (é,à ...).
J'utilise un code comme celui-ci:
Code :
1
2
3
 
$pwd_frm = utf8_encode($passwd1);
$bind = ldap_bind($connect, $log_frm, $pwd_frm);
Avec un mot de passe avec caractère accentué, j'ai un warning "invalid credential". Aucun problème sans les caractères accentués.
Nous venons de faire la migration de l'AD de 2003 en 2008 R2 et je n'avais pas eu ce problème en 2003. Se pourrait-il que les mots de passe soient encodés autrement qu'en utf8 en AD 2008R2 ?
Quelqu'un saurait-il me mettre sur une piste ?

merci d'avance.
DidG_like est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 19h06   #2
sabotage
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 16 861
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 16 861
Points : 21 924
Points : 21 924
ajoute ce test pour essayer d'avoir plus d'infos :
Code :
1
2
3
4
5
6
7
if ($bind) {
    if (ldap_get_option($handle, LDAP_OPT_DIAGNOSTIC_MESSAGE, $extended_error)) {
        echo "Error Binding to LDAP: $extended_error";
    } else {
        echo "Error Binding to LDAP: No additional information is available.";
    }
}
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2013, 08h55   #3
DidG_like
Candidat au titre de Membre du Club
 
G_like Did
Inscription : mars 2010
Messages : 28
Détails du profil
Informations personnelles :
Nom : G_like Did

Informations forums :
Inscription : mars 2010
Messages : 28
Points : 11
Points : 11
Merci sabotage de t'intéresser à ce sujet.

La fonction ldap_get_option ne propose pas l'option LDAP_OPT_DIAGNOSTIC_MESSAGE.
J'ai essayé avec LDAP_OPT_ERROR_STRING mais je n'ai aucun retour. J'ai essayé avec LDAP_OPT_ERROR_NUMBER, il me retourne 0 mais je ne sais pas ce que veux dire ce code.

De mon côté, j'ai fait un essai sans encoder le mot de passe en utf-8. Et bizarrement, ça passe pour un mot de passe ayant le caractère é (les autres caractères du mot de passe ne sont pas des caractères accentués ni des caractères spéciaux). Je vais faire des tests pour l'ensemble des caractères spéciaux.

A suivre...
DidG_like est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2013, 09h20   #4
sabotage
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 16 861
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 16 861
Points : 21 924
Points : 21 924
Si ton fichier est déjà en utf8, tu n'as pas besoin de re-encoder ta chaine.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 10/01/2013, 11h41   #5
DidG_like
Candidat au titre de Membre du Club
 
G_like Did
Inscription : mars 2010
Messages : 28
Détails du profil
Informations personnelles :
Nom : G_like Did

Informations forums :
Inscription : mars 2010
Messages : 28
Points : 11
Points : 11
Ok, merci. Le fait est que mon fichier est déjà en utf-8, LDAP/AD n'est pas en cause.

Merci Sabotage.
DidG_like est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 21h49.


 
 
 
 
Partenaires

Hébergement Web