PHP & PHP Framework
Sommaire
Sommaire
1. Les bases du web
Sommaire
1. Les bases du web
2. Introduction rapide au PHP
Sommaire
1. Les bases du web
3. Programmation Orientée Objet (POO)
2. Introduction rapide au PHP
Sommaire
1. Les bases du web
3. Programmation Orientée Objet (POO)
2. Introduction rapide au PHP
4. Le Framework Symfony 2
Sommaire
1. Les bases du web
3. Programmation Orientée Objet (POO)
2. Introduction rapide au PHP
4. Le Framework Symfony 2...
Sommaire
1. Les bases du web
3. Programmation Orientée Objet (POO)
2. Introduction rapide au PHP
4. Le Framework Symfony 2...
1. Les bases du web
Deux types de besoins
Deux types de besoins
Information figéeBesoin
Deux types de besoins
Information figéeBesoin
Un site internet statiqueSolution
Deux types de besoins
Information figéeBesoin
Un site internet statiqueSolution
Technologie HTML, CSS, Javascript
Deux types de besoins
Une page dont le contenu
peut changer
Information figéeBesoin
Un site internet statiqueSolution
Techn...
Deux types de besoins
Une page dont le contenu
peut changer
Un site internet dynamique
Information figéeBesoin
Un site inte...
Deux types de besoins
Une page dont le contenu
peut changer
Un site internet dynamique
Information figéeBesoin
Un site inte...
1.1 Comment se déroule une
requête ?
Comment se passe une requête sur le web ?
Client
Serveur
Comment se passe une requête sur le web ?
Client
Serveur
Nom de domaine
facebook.com
Comment se passe une requête sur le web ?
Requête une page
Client
Serveur
Comment se passe une requête sur le web ?
Requête une page
Répond le contenu de la page
Client
Serveur
Comment se passe une requête sur le web ?
Client
Serveur
Comment se passe une requête sur le web ?
Client
Serveur
Connexion TCP
Comment se passe une requête sur le web ?
Client
Serveur
Connexion TCP
Protocole HTTP
Qu’est ce que le protocole HTTP ?
http://monsite.com/pass.php?search=a
Une syntaxe commune permettant à un client et un
serveur de communiquer.
Qu’est ce que le protocole HTTP ?
http://monsite....
Une syntaxe commune permettant à un client et un
serveur de communiquer.
GET /pass.php/?search=a HTTP/1.1
Host: 94.128.126...
Une syntaxe commune permettant à un client et un
serveur de communiquer.
GET /pass.php/?search=a HTTP/1.1
Host: 94.128.126...
Une syntaxe commune permettant à un client et un
serveur de communiquer.
GET /pass.php/?search=a HTTP/1.1
Host: 94.128.126...
Une syntaxe commune permettant à un client et un
serveur de communiquer.
GET /pass.php/?search=a HTTP/1.1
Host: 94.128.126...
Une syntaxe commune permettant à un client et un
serveur de communiquer.
GET /pass.php/?search=a HTTP/1.1
Host: 94.128.126...
Une syntaxe commune permettant à un client et un
serveur de communiquer.
GET /pass.php/?search=a HTTP/1.1
Host: 94.128.126...
GET /pass.php/?search=a HTTP/1.1
Host: 94.128.126.14
User-Agent: Mozilla/5.0 (Windows NT 6.1)Firefox/18.0
Referer: http://...
Qu’est ce que le protocole HTTP ?
http://monsite.com/pass.php?search=a
Sans keep alive Nouvelle connection TCP à chaque re...
Deux types de requêtes HTTP
GET
POST
Requête une page avec des paramètres dans l’url
http:// bing.fr /search ?search=proto...
Qu’est ce que le protocole HTTP ?
Génération de la page
Qu’est ce que le protocole HTTP ?
Génération de la page
HTTP/1.1 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close
<!doctype html><html itemscope="" itemtype=«...
HTTP/1.1 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close
<!doctype html><html itemscope="" itemtype=«...
HTTP/1.1 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close
<!doctype html><html itemscope="" itemtype=«...
HTTP/1.1 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close
<!doctype html><html itemscope="" itemtype=«...
Qu’est ce que le protocole HTTP ?
Qu’est ce que le protocole HTTP ?
Code status
2xx Success
3xx Redirect
4xx Client error
5xx Server error
1.2 Ou peut-on stocker des
informations ?
Bases de données, Cookies, Sessions et Local Storage
Bases de données, Cookies, Sessions et Local Storage
Bases de données serveur
Bases de données, Cookies, Sessions et Local Storage
Bases de données serveur
Local Storage HTML 5
Session Storage HTML 5
...
Bases de données, Cookies, Sessions et Local Storage
Bases de données serveur
Local Storage HTML 5
Session Storage HTML 5
...
Bases de données, Cookies, Sessions et Local Storage
Bases de données serveur
Local Storage HTML 5
Session Storage HTML 5
...
Bases de données, Cookies, Sessions et Local Storage
Bases de données serveur
Local Storage HTML 5
Session Storage HTML 5
...
Les cookies, concrètement
Liste de cookie
- statisitics 3
- id U3Y7UID
Les cookies, concrètement
Liste de cookie
- statisitics 3
- id U3Y7UID
Liste de cookie
- statisitics 3
- id U3Y7UID
Les cookies, concrètement
Set-cookie
- tokenUser 8879
Liste de cookie
- statisitics 3
- id U3Y7UID
Les cookies, concrètement
Set-cookie
- tokenUser 8879
Liste de cookie
- statisitics 3
- id U3Y7UID
- tokenUser 8879
Les cookies, concrètement
Liste de cookie
- statisitics 3
- id U3Y7UID
- tokenUser 8879
Liste de cookie
- statisitics 3
- ...
Les sessions, concrètement
1 2 3
jeremie jean alexandre
Données sur le
serveur
Client
Les sessions, concrètement
1 2 3
jeremie jean alexandre
Données sur le
serveur
Client
Les sessions, concrètement
1 2 3
jeremie jean alexandre
4
robert
Données sur le
serveur
Client
Les sessions, concrètement
1 2 3
jeremie jean alexandre
4
robert
Données sur le
serveur
Client
Set-cookie
- idSession 4
Les sessions, concrètement
1 2 3
jeremie jean alexandre
4
robert
Données sur le
serveur
Client
Liste de cookie
- idSession...
Les sessions, concrètement
1 2 3
jeremie jean alexandre
4
robert
Données sur le
serveur
Client
Liste de cookie
- idSession...
Les sessions, concrètement
A la fermeture du navigateur le cookie de session expire. L’id de session
disparait, on ne peut...
Comparaison des stockages sur le client
- Cookies pèsent au maximum quelques Ko
- Cookies sont envoyés dans chaque requête...
1.3 Etude de cas :
Authentification des utilisateurs
Besoins liés à la connexion d’un utilisateur
- Procéder à l’authentification grâce aux identifiants
Besoins liés à la connexion d’un utilisateur
- Procéder à l’authentification grâce aux identifiants
- Conserver la connexion entre deux chargement de page
Besoins liés à...
- Procéder à l’authentification grâce aux identifiants
- Conserver la connexion entre deux chargement de page
- Se souvenir ...
Procéder à l’authentification grâce aux identifiants
Procéder à l’authentification grâce aux identifiants
1 . L’utilisateur rempli un formulaire et le soumet
Procéder à l’authentification grâce aux identifiants
1 . L’utilisateur rempli un formulaire et le soumet
2. Pour l’envoi du ...
Procéder à l’authentification grâce aux identifiants
1 . L’utilisateur rempli un formulaire et le soumet
2. Pour l’envoi du ...
Procéder à l’authentification grâce aux identifiants
1 . L’utilisateur rempli un formulaire et le soumet
2. Pour l’envoi du ...
Conserver la connexion entre deux chargement de page
Conserver la connexion entre deux chargement de page
1 . Lors de la connexion de l’utilisateur on sauvegarde son nom d’uti...
Conserver la connexion entre deux chargement de page
1 . Lors de la connexion de l’utilisateur on sauvegarde son nom d’uti...
Conserver la connexion entre deux chargement de page
1 . Lors de la connexion de l’utilisateur on sauvegarde son nom d’uti...
Conserver la connexion entre deux chargement de page
1 . Lors de la connexion de l’utilisateur on sauvegarde son nom d’uti...
Se souvenir de l’utilisateur au prochain démarrage du navigateur
Se souvenir de l’utilisateur au prochain démarrage du navigateur
1 . Quand « Remember Me » est coché au moment de la conne...
Se souvenir de l’utilisateur au prochain démarrage du navigateur
1 . Quand « Remember Me » est coché au moment de la conne...
Se souvenir de l’utilisateur au prochain démarrage du navigateur
1 . Quand « Remember Me » est coché au moment de la conne...
Se souvenir de l’utilisateur au prochain démarrage du navigateur
1 . Quand « Remember Me » est coché au moment de la conne...
Se souvenir de l’utilisateur au prochain démarrage du navigateur
1 . Quand « Remember Me » est coché au moment de la conne...
Ceci n’est un extrait du cours, contactez-nous pour plus d’informations.
https://www.linkedin.com/pub/jérémie-campari/55/2...
Prochain SlideShare
Chargement dans…5
×

PHP et PHP Framework

608 vues

Publié le

Extrait du cours de PHP et PHP Framework.

Contenu de l'extrait :
- Les différents types de stockage des données (navigateur et serveur).
- Qu'est ce que le protocole HTTP ?
- Comment authentifier des utilisateurs de manière sécurisée ?

Pour découvrir nos formations ou en savoir plus, rendez-moi visite sur mon LinkedIn : https://www.linkedin.com/pub/jérémie-campari/55/205/275

Publié dans : Technologie
0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
608
Sur SlideShare
0
Issues des intégrations
0
Intégrations
9
Actions
Partages
0
Téléchargements
46
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

PHP et PHP Framework

  1. 1. PHP & PHP Framework
  2. 2. Sommaire
  3. 3. Sommaire 1. Les bases du web
  4. 4. Sommaire 1. Les bases du web 2. Introduction rapide au PHP
  5. 5. Sommaire 1. Les bases du web 3. Programmation Orientée Objet (POO) 2. Introduction rapide au PHP
  6. 6. Sommaire 1. Les bases du web 3. Programmation Orientée Objet (POO) 2. Introduction rapide au PHP 4. Le Framework Symfony 2
  7. 7. Sommaire 1. Les bases du web 3. Programmation Orientée Objet (POO) 2. Introduction rapide au PHP 4. Le Framework Symfony 2 5. La sécurité sur le web
  8. 8. Sommaire 1. Les bases du web 3. Programmation Orientée Objet (POO) 2. Introduction rapide au PHP 4. Le Framework Symfony 2 5. La sécurité sur le web 6. Projet de groupe : Créez votre framework
  9. 9. 1. Les bases du web
  10. 10. Deux types de besoins
  11. 11. Deux types de besoins Information figéeBesoin
  12. 12. Deux types de besoins Information figéeBesoin Un site internet statiqueSolution
  13. 13. Deux types de besoins Information figéeBesoin Un site internet statiqueSolution Technologie HTML, CSS, Javascript
  14. 14. Deux types de besoins Une page dont le contenu peut changer Information figéeBesoin Un site internet statiqueSolution Technologie HTML, CSS, Javascript
  15. 15. Deux types de besoins Une page dont le contenu peut changer Un site internet dynamique Information figéeBesoin Un site internet statiqueSolution Technologie HTML, CSS, Javascript
  16. 16. Deux types de besoins Une page dont le contenu peut changer Un site internet dynamique Information figéeBesoin Un site internet statiqueSolution Technologie HTML, CSS, Javascript HTML, CSS, Javascript, langage serveur, base de données…
  17. 17. 1.1 Comment se déroule une requête ?
  18. 18. Comment se passe une requête sur le web ? Client Serveur
  19. 19. Comment se passe une requête sur le web ? Client Serveur Nom de domaine facebook.com
  20. 20. Comment se passe une requête sur le web ? Requête une page Client Serveur
  21. 21. Comment se passe une requête sur le web ? Requête une page Répond le contenu de la page Client Serveur
  22. 22. Comment se passe une requête sur le web ? Client Serveur
  23. 23. Comment se passe une requête sur le web ? Client Serveur Connexion TCP
  24. 24. Comment se passe une requête sur le web ? Client Serveur Connexion TCP Protocole HTTP
  25. 25. Qu’est ce que le protocole HTTP ? http://monsite.com/pass.php?search=a
  26. 26. Une syntaxe commune permettant à un client et un serveur de communiquer. Qu’est ce que le protocole HTTP ? http://monsite.com/pass.php?search=a
  27. 27. Une syntaxe commune permettant à un client et un serveur de communiquer. GET /pass.php/?search=a HTTP/1.1 Host: 94.128.126.14 User-Agent: Mozilla/5.0 (Windows NT 6.1)Firefox/18.0 Referer: http://monsite.com/pass.php Connection: keep-alive Content-Type: application/x-www-form-urlencoded Content-Length: 30 Qu’est ce que le protocole HTTP ? http://monsite.com/pass.php?search=a
  28. 28. Une syntaxe commune permettant à un client et un serveur de communiquer. GET /pass.php/?search=a HTTP/1.1 Host: 94.128.126.14 User-Agent: Mozilla/5.0 (Windows NT 6.1)Firefox/18.0 Referer: http://monsite.com/pass.php Connection: keep-alive Content-Type: application/x-www-form-urlencoded Content-Length: 30 Qu’est ce que le protocole HTTP ? http://monsite.com/pass.php?search=a Type de requête
  29. 29. Une syntaxe commune permettant à un client et un serveur de communiquer. GET /pass.php/?search=a HTTP/1.1 Host: 94.128.126.14 User-Agent: Mozilla/5.0 (Windows NT 6.1)Firefox/18.0 Referer: http://monsite.com/pass.php Connection: keep-alive Content-Type: application/x-www-form-urlencoded Content-Length: 30 Qu’est ce que le protocole HTTP ? IP client http://monsite.com/pass.php?search=a Type de requête
  30. 30. Une syntaxe commune permettant à un client et un serveur de communiquer. GET /pass.php/?search=a HTTP/1.1 Host: 94.128.126.14 User-Agent: Mozilla/5.0 (Windows NT 6.1)Firefox/18.0 Referer: http://monsite.com/pass.php Connection: keep-alive Content-Type: application/x-www-form-urlencoded Content-Length: 30 Qu’est ce que le protocole HTTP ? IP client Navigateur client http://monsite.com/pass.php?search=a Type de requête
  31. 31. Une syntaxe commune permettant à un client et un serveur de communiquer. GET /pass.php/?search=a HTTP/1.1 Host: 94.128.126.14 User-Agent: Mozilla/5.0 (Windows NT 6.1)Firefox/18.0 Referer: http://monsite.com/pass.php Connection: keep-alive Content-Type: application/x-www-form-urlencoded Content-Length: 30 Qu’est ce que le protocole HTTP ? IP client Navigateur client Page précédente (courante) http://monsite.com/pass.php?search=a Type de requête
  32. 32. Une syntaxe commune permettant à un client et un serveur de communiquer. GET /pass.php/?search=a HTTP/1.1 Host: 94.128.126.14 User-Agent: Mozilla/5.0 (Windows NT 6.1)Firefox/18.0 Referer: http://monsite.com/pass.php Connection: keep-alive Content-Type: application/x-www-form-urlencoded Content-Length: 30 Qu’est ce que le protocole HTTP ? IP client Navigateur client Page précédente (courante) Conserver connection http://monsite.com/pass.php?search=a Type de requête
  33. 33. GET /pass.php/?search=a HTTP/1.1 Host: 94.128.126.14 User-Agent: Mozilla/5.0 (Windows NT 6.1)Firefox/18.0 Referer: http://monsite.com/pass.php Connection: keep-alive Content-Type: application/x-www-form-urlencoded Content-Length: 30 Qu’est ce que le protocole HTTP ? IP client Navigateur client Page précédente (courante) Conserver connection http://monsite.com/pass.php?search=a Type de requête
  34. 34. Qu’est ce que le protocole HTTP ? http://monsite.com/pass.php?search=a Sans keep alive Nouvelle connection TCP à chaque requête Avec keep alive On conserve la connexion TCP entre les différentes requêtes d’un même navigateur
  35. 35. Deux types de requêtes HTTP GET POST Requête une page avec des paramètres dans l’url http:// bing.fr /search ?search=protocole Paramètres GETPageDomaineProtocole Requête une page avec des paramètres dans le body HTTP http:// bing.fr /connect PageDomaineProtocole
  36. 36. Qu’est ce que le protocole HTTP ? Génération de la page
  37. 37. Qu’est ce que le protocole HTTP ? Génération de la page
  38. 38. HTTP/1.1 200 OK Content-Type: text/html; charset=ISO-8859-1 Connection: close <!doctype html><html itemscope="" itemtype=«  http://schema.org/WebPage" lang=« fr"><head> <meta content="/images/ Qu’est ce que le protocole HTTP ?
  39. 39. HTTP/1.1 200 OK Content-Type: text/html; charset=ISO-8859-1 Connection: close <!doctype html><html itemscope="" itemtype=«  http://schema.org/WebPage" lang=« fr"><head> <meta content="/images/ Qu’est ce que le protocole HTTP ? Code status
  40. 40. HTTP/1.1 200 OK Content-Type: text/html; charset=ISO-8859-1 Connection: close <!doctype html><html itemscope="" itemtype=«  http://schema.org/WebPage" lang=« fr"><head> <meta content="/images/ Qu’est ce que le protocole HTTP ? Encodage des pages (ISO, UTF-8…) Code status
  41. 41. HTTP/1.1 200 OK Content-Type: text/html; charset=ISO-8859-1 Connection: close <!doctype html><html itemscope="" itemtype=«  http://schema.org/WebPage" lang=« fr"><head> <meta content="/images/ Qu’est ce que le protocole HTTP ? Code HTML à afficher Encodage des pages (ISO, UTF-8…) Code status
  42. 42. Qu’est ce que le protocole HTTP ?
  43. 43. Qu’est ce que le protocole HTTP ? Code status 2xx Success 3xx Redirect 4xx Client error 5xx Server error
  44. 44. 1.2 Ou peut-on stocker des informations ?
  45. 45. Bases de données, Cookies, Sessions et Local Storage
  46. 46. Bases de données, Cookies, Sessions et Local Storage Bases de données serveur
  47. 47. Bases de données, Cookies, Sessions et Local Storage Bases de données serveur Local Storage HTML 5 Session Storage HTML 5 < 5 Mo / domaine
  48. 48. Bases de données, Cookies, Sessions et Local Storage Bases de données serveur Local Storage HTML 5 Session Storage HTML 5 < 5 Mo / domaine Cookie - Stocke des informations sur le navigateur - A une durée de vie limitée - Editable par le client et le serveur
  49. 49. Bases de données, Cookies, Sessions et Local Storage Bases de données serveur Local Storage HTML 5 Session Storage HTML 5 < 5 Mo / domaine cookies envoyés par HTTP Cookie - Stocke des informations sur le navigateur - A une durée de vie limitée - Editable par le client et le serveur
  50. 50. Bases de données, Cookies, Sessions et Local Storage Bases de données serveur Local Storage HTML 5 Session Storage HTML 5 < 5 Mo / domaine cookies envoyés par HTTP Cookie - Stocke des informations sur le navigateur - A une durée de vie limitée - Editable par le client et le serveur Session - 1 session / navigateur - Identifiée par un cookie - Stocke des informations sur le serveur
  51. 51. Les cookies, concrètement Liste de cookie - statisitics 3 - id U3Y7UID
  52. 52. Les cookies, concrètement Liste de cookie - statisitics 3 - id U3Y7UID Liste de cookie - statisitics 3 - id U3Y7UID
  53. 53. Les cookies, concrètement Set-cookie - tokenUser 8879 Liste de cookie - statisitics 3 - id U3Y7UID
  54. 54. Les cookies, concrètement Set-cookie - tokenUser 8879 Liste de cookie - statisitics 3 - id U3Y7UID - tokenUser 8879
  55. 55. Les cookies, concrètement Liste de cookie - statisitics 3 - id U3Y7UID - tokenUser 8879 Liste de cookie - statisitics 3 - id U3Y7UID - tokenUser 8879
  56. 56. Les sessions, concrètement 1 2 3 jeremie jean alexandre Données sur le serveur Client
  57. 57. Les sessions, concrètement 1 2 3 jeremie jean alexandre Données sur le serveur Client
  58. 58. Les sessions, concrètement 1 2 3 jeremie jean alexandre 4 robert Données sur le serveur Client
  59. 59. Les sessions, concrètement 1 2 3 jeremie jean alexandre 4 robert Données sur le serveur Client Set-cookie - idSession 4
  60. 60. Les sessions, concrètement 1 2 3 jeremie jean alexandre 4 robert Données sur le serveur Client Liste de cookie - idSession 4
  61. 61. Les sessions, concrètement 1 2 3 jeremie jean alexandre 4 robert Données sur le serveur Client Liste de cookie - idSession 4
  62. 62. Les sessions, concrètement A la fermeture du navigateur le cookie de session expire. L’id de session disparait, on ne peut plus authentifier l’utilisateur.
  63. 63. Comparaison des stockages sur le client - Cookies pèsent au maximum quelques Ko - Cookies sont envoyés dans chaque requêtes - Le serveur peut lire et éditer les cookies Les cookies - Local storage peut prendre jusqu’à 5 Mo Le local storage - Session storage peut prendre jusqu’à 5 Mo Le session storage - Supprimé à la fermeture de la session
  64. 64. 1.3 Etude de cas : Authentification des utilisateurs
  65. 65. Besoins liés à la connexion d’un utilisateur
  66. 66. - Procéder à l’authentification grâce aux identifiants Besoins liés à la connexion d’un utilisateur
  67. 67. - Procéder à l’authentification grâce aux identifiants - Conserver la connexion entre deux chargement de page Besoins liés à la connexion d’un utilisateur
  68. 68. - Procéder à l’authentification grâce aux identifiants - Conserver la connexion entre deux chargement de page - Se souvenir de l’utilisateur au prochain démarrage du navigateur Besoins liés à la connexion d’un utilisateur
  69. 69. Procéder à l’authentification grâce aux identifiants
  70. 70. Procéder à l’authentification grâce aux identifiants 1 . L’utilisateur rempli un formulaire et le soumet
  71. 71. Procéder à l’authentification grâce aux identifiants 1 . L’utilisateur rempli un formulaire et le soumet 2. Pour l’envoi du formulaire une requête de type POST est choisie
  72. 72. Procéder à l’authentification grâce aux identifiants 1 . L’utilisateur rempli un formulaire et le soumet 2. Pour l’envoi du formulaire une requête de type POST est choisie 3. Pour éviter l’interception de la requête et le vol du mot de passe et du nom d’utilisateur, on utilise une connexion HTTPS
  73. 73. Procéder à l’authentification grâce aux identifiants 1 . L’utilisateur rempli un formulaire et le soumet 2. Pour l’envoi du formulaire une requête de type POST est choisie 3. Pour éviter l’interception de la requête et le vol du mot de passe et du nom d’utilisateur, on utilise une connexion HTTPS 4. On hash le mot de passe. On vérifie les données dans la base de donnée du serveur. Si l’utilisateur existe et que le mot de passe est le bon alors l’utilisateur est connecté.
  74. 74. Conserver la connexion entre deux chargement de page
  75. 75. Conserver la connexion entre deux chargement de page 1 . Lors de la connexion de l’utilisateur on sauvegarde son nom d’utilisateur dans une session
  76. 76. Conserver la connexion entre deux chargement de page 1 . Lors de la connexion de l’utilisateur on sauvegarde son nom d’utilisateur dans une session 2. On génère un identifiant de session purement aléatoire qui ne doit pas être prédictible.
  77. 77. Conserver la connexion entre deux chargement de page 1 . Lors de la connexion de l’utilisateur on sauvegarde son nom d’utilisateur dans une session 2. On génère un identifiant de session purement aléatoire qui ne doit pas être prédictible. 3. On stocke l’identifiant de Session dans un cookie à l’aide du header set-cookie dans la réponse HTTP. Ce cookie doit être Http-Only.
  78. 78. Conserver la connexion entre deux chargement de page 1 . Lors de la connexion de l’utilisateur on sauvegarde son nom d’utilisateur dans une session 2. On génère un identifiant de session purement aléatoire qui ne doit pas être prédictible. 3. On stocke l’identifiant de Session dans un cookie à l’aide du header set-cookie dans la réponse HTTP. Ce cookie doit être Http-Only. 4. Lors de la requête suivante, si un identifiant de session est spécifié dans les cookies ont l’utilise pour identifier notre utilisateur.
  79. 79. Se souvenir de l’utilisateur au prochain démarrage du navigateur
  80. 80. Se souvenir de l’utilisateur au prochain démarrage du navigateur 1 . Quand « Remember Me » est coché au moment de la connexion un cookie additionnel est créé qui permet d’authentifier l’utilisateur si sa session est supprimée.
  81. 81. Se souvenir de l’utilisateur au prochain démarrage du navigateur 1 . Quand « Remember Me » est coché au moment de la connexion un cookie additionnel est créé qui permet d’authentifier l’utilisateur si sa session est supprimée. 2. Ce nouveau cookie contient le nom d’utilisateur, un n° serie utilisateur et un token créé pour l’occasion. Le token et le n° de série sont unique, aléatoire et long. On stocke le triplet dans la base de donnée serveur.
  82. 82. Se souvenir de l’utilisateur au prochain démarrage du navigateur 1 . Quand « Remember Me » est coché au moment de la connexion un cookie additionnel est créé qui permet d’authentifier l’utilisateur si sa session est supprimée. 2. Ce nouveau cookie contient le nom d’utilisateur, un n° serie utilisateur et un token créé pour l’occasion. Le token et le n° de série sont unique, aléatoire et long. On stocke le triplet dans la base de donnée serveur. 3. Quand un utilisateur non authentifié visite le site et qu’il possède dans son cookie le triplet on essaie de l’authentifier. On regarde si le triplet existe dans la base de donnée.
  83. 83. Se souvenir de l’utilisateur au prochain démarrage du navigateur 1 . Quand « Remember Me » est coché au moment de la connexion un cookie additionnel est créé qui permet d’authentifier l’utilisateur si sa session est supprimée. 2. Ce nouveau cookie contient le nom d’utilisateur, un n° serie utilisateur et un token créé pour l’occasion. Le token et le n° de série sont unique, aléatoire et long. On stocke le triplet dans la base de donnée serveur. 3. Quand un utilisateur non authentifié visite le site et qu’il possède dans son cookie le triplet on essaie de l’authentifier. On regarde si le triplet existe dans la base de donnée. 3.1. Si le triplet est présent, l’utilisateur est considéré comme authentifié. On supprime le token et on en génère un nouveau qu’on retourne au client.
  84. 84. Se souvenir de l’utilisateur au prochain démarrage du navigateur 1 . Quand « Remember Me » est coché au moment de la connexion un cookie additionnel est créé qui permet d’authentifier l’utilisateur si sa session est supprimée. 2. Ce nouveau cookie contient le nom d’utilisateur, un n° serie utilisateur et un token créé pour l’occasion. Le token et le n° de série sont unique, aléatoire et long. On stocke le triplet dans la base de donnée serveur. 3. Quand un utilisateur non authentifié visite le site et qu’il possède dans son cookie le triplet on essaie de l’authentifier. On regarde si le triplet existe dans la base de donnée. 3.1. Si le triplet est présent, l’utilisateur est considéré comme authentifié. On supprime le token et on en génère un nouveau qu’on retourne au client. 3.2. Si seul le token ne matche pas, l’utilisateur est menacé. On supprime le triplet de la base. On prévient l’utilisateur de la menace.
  85. 85. Ceci n’est un extrait du cours, contactez-nous pour plus d’informations. https://www.linkedin.com/pub/jérémie-campari/55/205/275

×