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] PHP interprété ! oui mais..


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Avril 2005
    Messages
    300
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 300
    Points : 93
    Points
    93
    Par défaut [Cookies] PHP interprété ! oui mais..
    Bonjour,

    Je me pose une grande question:

    PHP est interprété sur le serveur, des renseignements comme la date sont pris sur le serveur, jusque là nous sommes d'accords.

    PHP ne communique pas avec le client (navigateur).
    Ce que je veux dire, en prenant l'exemple de validation d'un formulaire simple:

    1. l'utilisateur renseigne les informations nécessaires
    2. l'utilisateur valide ces informations
    3. données transférées au serveur
    4. serveur receptionne les données (GET, POST, COOKIE, etc..)
    5. serveur traite la page
    6. le serveur envoit la page traitée

    Le cheminement est bien ainsi ?

    Là ou je veux en venir, c'est que le serveur ne communique pas avec le client, et donc lors de la connexion à une base de données, celle-ci est réalisée sur le serveur et les informations (mot de passe, login, etc..) ne transite pas, nous sommes d'accords ? Donc lors d'une connexion de ce genre il n'est pas possible d'intercepter les identifiants ?

    Est-ce que je fais fausse route ?

  2. #2
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 369
    Points : 40 164
    Points
    40 164
    Par défaut Re: PHP interprété ! oui mais..
    Citation Envoyé par Thierry8
    1. l'utilisateur renseigne les informations nécessaires
    2. l'utilisateur valide ces informations
    3. données transférées au serveur
    4. serveur receptionne les données (GET, POST, COOKIE, etc..)
    5. serveur traite la page
    6. le serveur envoit la page traitée

    Le cheminement est bien ainsi ?
    oui

    Citation Envoyé par Thierry8
    Là ou je veux en venir, c'est que le serveur ne communique pas avec le client, et donc lors de la connexion à une base de données, celle-ci est réalisée sur le serveur et les informations (mot de passe, login, etc..) ne transite pas, nous sommes d'accords ? Donc lors d'une connexion de ce genre il n'est pas possible d'intercepter les identifiants ?
    les identifiants transitent, mais pas entre le client et l'interpreteur php, ils circulent entre l'interpreteur et le serveur de base de donnees. Donc le moyen d'intercepter les identifiants, c'est de surveiller les connexions entre interpreteur et serveur de base de donnees, ce qui est deja plus difficile.

  3. #3
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Tu es sur la bonne voie. 8)

    Juste pour préciser qu'il n'est pas obligatoire que ton serveur SQL soit sur la même machine que PHP et il est alors possible d'écouter ce lien. Mais il faut être à l'intérieur du réseau alors tu peux dormir tranquille

    EDIT: grilled

  4. #4
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 445
    Points
    3 445
    Par défaut
    Bonjour,

    En résumant :

    1) L'utilisateur se "connecte" à un site, en faisant une requête HTTP sur une URL.

    2) Le serveur reçoit la requête HTTP et l'interprête. Il retourne la réponse, en faisant tous les calculs impliqués dans cette tâche, que ce soit la connection à une base de données, ou bien l'interrogation par sms du Président de la république. Donc en aucun cas le client peut voir ce qu'il se passe coté serveur

    3) Le serveur après avoir construit sa réponse ( en général constituée de balises HTML ) la retourne sur le port que le client a ouvert en attendant la réponse.

    4) Le client reçoit les informations et les affiche. Une fois que la réponse est totalement transmise, la connection est fermée, et une nouvelle requête doit être formulée pour ouvrir une nouvelle URL

    Le PHP est bien un langage interpreté coté serveur ( je "crois" qu'il y a cependant un compilateur de type JIT dans le moteur PHP, mais je ne suis pas sûr ), le client ne voit jamais transiter le code PHP !

    En espérant ne pas m'être trompé dans mes explications (j'avais raison d'espérer,lol), A+

  5. #5
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Citation Envoyé par KiLVaiDeN
    1) L'utilisateur se "connecte" à un site, en faisant une requête HTTP sur une URL. Je met le "connecte" entre guillemets, car il ne s'agit pas d'une connection de type socket; c'est une connection asynchrone, terminée dès que la réponse est envoyée.
    Va falloire que je revois mes cours de réseaux car je ne pense pas que la connection est fermée tout de suite. Elle est dès que le serveur estime avoir fini d'envoyer la réponse. Deplus c'est bien une socket qui est ouverte par le navigateur.

    Citation Envoyé par KiLVaiDeN
    Le PHP est bien un langage interpreté coté serveur ( je "crois" qu'il y a cependant un compilateur de type JIT dans le moteur PHP, mais je ne suis pas sûr ), le client ne voit jamais transiter le code PHP !
    Oui il y a un compilateur, le résultat est du op-code. C'est d'ailleurs là dessus qu'il est possible d'augmenter les perfs, en cachant (=mettre de coté pour un usage ultérieur) ce op-code. Pour illustrer : http://talks.php.net/show/acc_php/16

  6. #6
    Membre régulier
    Inscrit en
    Avril 2005
    Messages
    300
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 300
    Points : 93
    Points
    93
    Par défaut
    Et bien merci à vous tous !
    Cela répond à mon interrogation ! 20 / 20 !!!

    Merci.
    Thierry

  7. #7
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 445
    Points
    3 445
    Par défaut
    Message erroné

  8. #8
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 445
    Points
    3 445
    Par défaut
    Message erroné

  9. #9
    Membre éclairé
    Avatar de Kioob
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Points : 764
    Points
    764
    Par défaut
    Citation Envoyé par KiLVaiDeN
    Salut Mr N.
    Oui il y a une socket d'ouvert par le navigateur, mais dans le but de recevoir une réponse asynchrone; il se peut que la réponse n'arrive jamais C'est pour ça que je dis que la connection est asynchrone, car nous on envoie la requête sur le port 80, on ouvre le port 23586 ( par exemple ) pour attendre la réponse, et la réponse ne vient que lorsque le serveur l'a établie, enfin selon ce que j'ai compris c'est comme ça que ça se passe, alors qu'une connection normale ouvrirait directement un port et ferait toutes les communications sur celui-ci, mais peut-être me trompette-je ?
    Hello,

    je ne suis pas du tout d'accord :
    1) le client ouvre un socket sur le port 80 du serveur
    2) le client envoi sa requete HTTP, et attend la réponse du serveur
    3) le serveur répond au client, sur le même socket
    4) le client et le serveur ferment le socket (sauf cas du "keep_alive")

    Le port 35248 que tu vois "ouvert" sur le client est tout simplement le port source du socket ouvert. (35248 chez le client, 80 sur le serveur).

    Par contre le fonctionnement que tu décris correspond à peu pret à celui du protocole FTP, d'où les nombreux problèmes avec les firewalls et routeurs.

  10. #10
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    J'me disais bien...

  11. #11
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 445
    Points
    3 445
    Par défaut
    Message erroné

  12. #12
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Et ben non, toujours à côté.

    en 1.0, c'est la même chose que comme explique Kioob...
    La différence entre 1.0 et 1.1, c'est la récupération des ressources.
    Soit le code html suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html><body><img src="img.png" /></body></html>
    en 1.0 tu as deux appels, en pour le flux html et un autre pour l'image.
    en 1.1 tu as un seul appel

    Mais pour les deux protocoles, le serveur répond sur la même socket qu'a ouvert le client pour la connexion en cours.

  13. #13
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 445
    Points
    3 445
    Par défaut
    Eh ben dis donc, j'avais jusqu'à maintenant une notion erronée de la chose, je finirais la journée plus intelligent

    En plus ce que vous dites est logique; dans la mesure où le système que j'explique necessiterait que le client puisse être contacté de l'extérieur sur un port spécifique de type "23865" ça ne fonctionnerait pas par exemple dans le cas de personnes utilisant un proxy, ou même un firewall.

    Et oui en effet j'ai recemment vu le problème lié à FTP, il me semble que le client ouvre un port entre 21 et 30 ( ou quelque chose comme ça, je ne sais plus exactement ) et donc il faudrait ouvrir toute cette plage de port pour le client et c'est ennuyeux

    Autant pour moi Désolé pour la mauvaise information, mis à part cette histoire de port mon histoire reste correcte cependant J'ai modifié mon message original pour eviter les confusions, A+ !

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

Discussions similaires

  1. PHP 4 oui mais pas php 5
    Par descurai dans le forum Langage
    Réponses: 2
    Dernier message: 04/06/2009, 11h45
  2. Création de logiciel, oui, mais quelle base de donnée ?
    Par Acti dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 17/02/2005, 12h41
  3. HomeDB, oui mais comment ?
    Par Gregouz dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 27/10/2004, 15h27
  4. [APPLET-SERVLET] download oui mais upload non ...
    Par meufeu dans le forum Applets
    Réponses: 7
    Dernier message: 09/08/2004, 14h36

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