IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Cookies] Récupérer les USERNAME / PASSWORD sous Windows (2000/XP)


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7
    Points : 6
    Points
    6
    Par défaut [Cookies] Récupérer les USERNAME / PASSWORD sous Windows (2000/XP)
    "Quoi ? Mais il est fou ce type ?!!"

    Eh oui, j'entends déjà crier les mentors ... hèhè.
    Bon un mot d'explication à présent.

    Je travail dans une société qui héberge son propre Intranet (que j'administre du mieux possible) sous LAMP (SuSe / Apache 2 / PHP 4 / ...).
    Environnement Citrix / Powerfuse pour tous les employés. Windows pour tout le monde avec IE actuellement.

    Travaillant en interne explusivement, et sachant que la plupart des utilisateurs ont déjà pas mal de LOGIN à retenir à tout va, un souhait était donc de ne pas demander d'authentification supplémentaire pour se faire authentifier sur l'intranet.
    Ceci faisant de plus double-emploi avec le LOGIN de l'environnement réseau Windows (avec ActiveDirectory) déjà mis en place. Chaque utilisateur possédant donc déjà un LOGIN pour se faire authentifier sur le réseau, il était donc plus simple de détecter les infos de l'utilisateur et de l'authentifier automatiquement.

    Pour cela j'ai trouvé le moyen de le faire à travers JavaScript et un appel ActiveX de Windows qui me donne bien les infos (USERNAME dans un premier temps) que je stocke alors dans un cookie qui est placé dans la session sécurisée de l'utilisateur (pour diverses raisons entre autres).

    Bref ... tout ça est bien joli et fonctionne MAIS uniquement pour Internet Explorer (ActiveX ...) => EXIT donc notre génialissime Firefox (ou autre browser) !
    ActiveX et Firefox n'étant par définition pas compatibles.

    J'ai bien cherché sur le net après des modules faisant fonctionner les ActiveX sous Firefox mais rien de concluant jusqu'à présent.

    Et donc, quelqu'un aurait-il une suggestion intéressante à faire pour m'éviter d'être forcé d'utiliser IE (et donc mon ActiveX en question) pour interroger Windows afin qu'il me donne les infos souhaitées sur l'utilisateur loggé ?

    JAVA ? Autre langage ? Module Firefox spécial ?

    Merci d'avoir lu toute ma tartine ...
    Et merci pour votre aide.



    Steph.

  2. #2
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Tu voudrais, du côté serveur, récupérer des infos qui concernent directement le client ? Il me semble que c'est justement la raison qui a poussé la team Mozilla à faire un Firefox qui ne gère pas les ActiveX...

    Peut-être peux-tu écrire un script bat ou vbscript, que ton serveur ActiveDirectory demandera à Windows de lancer à l'ouverture de session, qui écrira tous les cookies comme il faut ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Oui je confirme :
    Du côté serveur, la page se charge et lors de la première visite de l'utilisateur l'ActiveX (développé en JavaScript) suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ...
    var WshNetwork = new ActiveXObject("WScript.Network");
    var user = WshNetwork.UserName;
    ...
    est exécuté sur le client et lui demande les infos souhaitées (de manière transparente car tous les IE ont été configuré en TRUSTED pour le serveur Intranet, bien entendu).

    Je comprends très bien les enjeux autour de la sécurité en effet. Mais ici, je suis dans un contexte bien précis et où la sécurité existe déjà à d'autres niveaux.
    La raison qui me pousse à chercher une solution alternative est simple : compatibilité avec d'autres browser afin d'éviter d'être obligé d'utiliser impérativement IE.

  4. #4
    Membre confirmé Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Points : 587
    Points
    587
    Par défaut
    Salut,

    J'ai été confronté au même problème.
    Tenant compte de ce que c'est un intranet et de ce que le serveur n'est pas visible de l'extérieur.
    J'ai fait placer sur chaque ordinateur une icone qui contient

    "C:\Program Files\mozilla.org\Mozilla\mozilla.exe" 10.0.0.120/index.php?u=%USERNAME%&c=%COMPUTERNAME%&d=%USERDOMAIN%
    Je vérifie le nom, la correspondance avec la machine et le domaine et je redirige vers la page suivante.

    Ca vaut ce que ça vaut, mais ça marche. Ca oblige l'utilisateur à se connecter de sa machine et uniquement de sa machine.
    Lu kinze d' awousse, la Vierje arandje û dusbrôle lu timp.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Astuce à retenir de fait :o
    L'idée du VBScript est aussi à cogiter ...

    Voilà qui ouvre une petite brèche de solution à mon souci

    Z'etes cool les gars de m'avoir répondu si vite par ailleurs !

    Impressionant ce site, c'est mon premier POST ...

    Steph.

  6. #6
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Je te prie de prendre une autre note, au passage : nous sommes ici dans le forum PHP.
    PHP ne peut pas récupérer directement cette info, c'est ce que j'essayais de souligner dans mon premier message et c'est visiblement quelque chose que tu as compris (puisque tu passes par un contrôle ActiveX développé en JS).

    J'en viens au fait : tu pourrais poser la même question dans un forum plus approprié (relatif spécifiquement à Windows ?), tu aurais certainement des réponses plus viables.

    Autre piste : utiliser l'IP du poste client ? Pour le coup, PHP saurait le faire.

  7. #7
    Membre averti Avatar de XtofRoland
    Profil pro
    Inscrit en
    Août 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 357
    Points : 392
    Points
    392
    Par défaut
    je recupere l'ip
    exec("nbstat -a")

    puis j'analyse le string recupéré ... si qqn a mieux ;-)
    Le but de tout developpeur OO est de devenir une référence.
    Mon avatar est un ambigramme, les curieux peuvent le retourner ;-)
    Aider <> Faire a la place de!!!

  8. #8
    Membre éclairé Avatar de Yobs
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    675
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 675
    Points : 846
    Points
    846
    Par défaut
    non pas mieux mais j'ajoute qu'il faut utiliser nbtstat non nbstat et l'adresse ip récupéré comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $adresse = $_SERVER['REMOTE_ADDR'];
    exec("nbtstat -a ".$adresse);
    Chaque problème a une solution, mais il est plus facile de répondre si le problème est correctement renseignés

  9. #9
    Membre confirmé Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Points : 587
    Points
    587
    Par défaut
    Bonjour,

    Avec nbtstat on ne récupère pas le nom de l'utilisateur.
    De plus, il faut que le serveur tourne sous Windows.
    Lu kinze d' awousse, la Vierje arandje û dusbrôle lu timp.

  10. #10
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Je me disais que peut-être tu avais déjà mappé ton réseau en fonction des IP et des pseudos, ou bien que tu pourrais le faire.
    Évidemment, tu n'auras pas le mot de passe avec cette méthode (à distance).

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Oui, je sais pour le choix du forum j'ai été entre deux feux, il est vrai que c'est Windows que j'interroge, mais comme je développe sous PHP, je me suis basé sur la source d'où part le code.

    Le choix du forum n'est pas toujours évident, car on développe souvent avec plusieurs langages. Dans mon cas ce qui intervient c'est : Linux, PHP, MySQL, JavaScript, ActiveX, Windows, ... et donc c'est vrai que les sujets sont du coup assez vastes

    Si on pouvait avoir un principe de "multi catégories" pour une même question lorsque l'on parle d'un sujet (comme les libellés GMAIL, ou encore Firebird, ...) ça serait vachement sympa.

    Je ne peux pas me baser sur la récupération de l'IP car nous avons des serveurs Citrix où les utilisateurs sont authentifiés par groupe de +/- 30 utilisateurs par serveur et donc l'IP vue par le "REMOTE_ADDR" est l'adresse du serveur et non pas celle d'un seul et unique USER.

    Mais en attendant, je vais déjà tenter de travailler à mon souci.
    Merci pour vos suggestions et votre aide.

    Steph.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/01/2007, 10h19
  2. Installation Oracle 10g sous Windows 2000
    Par Jeff206 dans le forum Oracle
    Réponses: 6
    Dernier message: 24/08/2004, 15h51
  3. [Débutant] Problème d'installation sous Windows 2000
    Par bavmorda dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 04/08/2004, 16h28
  4. LoadLibrary avec C++ Builder 6 sous Windows 2000
    Par tgempp dans le forum C++Builder
    Réponses: 15
    Dernier message: 13/11/2003, 19h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo