Soumettre la recherche
Mettre en ligne
Gestion de formulaires en PHP
•
1 j'aime
•
21,172 vues
Jean-Marie Renouard
Suivre
Présentation de la gestion des formulaires en PHP5
Lire moins
Lire la suite
Ingénierie
Signaler
Partager
Signaler
Partager
1 sur 52
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partie
kadzaki
Intégration continue et déploiement continue avec Jenkins
Intégration continue et déploiement continue avec Jenkins
Kokou Gaglo
APACHE HTTP
APACHE HTTP
Rachid NID SAID
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
ENSET, Université Hassan II Casablanca
mise en place de service dhcp sous Ubuntu 20.04
mise en place de service dhcp sous Ubuntu 20.04
ImnaTech
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
XavierPestel
php2 : formulaire-session-PDO
php2 : formulaire-session-PDO
Abdoulaye Dieng
Support cours angular
Support cours angular
Nizar MAATOUG -ISET Sidi Bouzid
Recommandé
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partie
kadzaki
Intégration continue et déploiement continue avec Jenkins
Intégration continue et déploiement continue avec Jenkins
Kokou Gaglo
APACHE HTTP
APACHE HTTP
Rachid NID SAID
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
ENSET, Université Hassan II Casablanca
mise en place de service dhcp sous Ubuntu 20.04
mise en place de service dhcp sous Ubuntu 20.04
ImnaTech
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
XavierPestel
php2 : formulaire-session-PDO
php2 : formulaire-session-PDO
Abdoulaye Dieng
Support cours angular
Support cours angular
Nizar MAATOUG -ISET Sidi Bouzid
Cours php
Cours php
Yassine Badri
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSP
Youness Boukouchi
Initiation à Bootstrap
Initiation à Bootstrap
Abdoulaye Dieng
Module 2 introduction à asp.net web forms
Module 2 introduction à asp.net web forms
Mohammed Amine Mostefai
Alphorm.com Formation Laravel : Construire une Application de A à Z
Alphorm.com Formation Laravel : Construire une Application de A à Z
Alphorm
Présentation de RMI Java
Présentation de RMI Java
Zakaria Bouazza
Support de Cours JSF2 Première partie Intégration avec Spring
Support de Cours JSF2 Première partie Intégration avec Spring
ENSET, Université Hassan II Casablanca
Administration reseau
Administration reseau
Roka Elmourabiti
Intégration de SonarQube dans GitLab ci
Intégration de SonarQube dans GitLab ci
wiemfourati
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHP
Kristen Le Liboux
Theses Soutenues sous Direction et Co-Direction du Pr YOUSSFI
Theses Soutenues sous Direction et Co-Direction du Pr YOUSSFI
ENSET, Université Hassan II Casablanca
Java Server Faces (JSF)
Java Server Faces (JSF)
Heithem Abbes
Administration réseaux sous linux cours 1
Administration réseaux sous linux cours 1
Stephen Salama
Cours linux complet
Cours linux complet
aubin82
Python et son intégration avec Odoo
Python et son intégration avec Odoo
Hassan WAHSISS
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
ENSET, Université Hassan II Casablanca
Support programmation orientée objet c# .net version f8
Support programmation orientée objet c# .net version f8
ENSET, Université Hassan II Casablanca
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdf
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdf
GodefroyCheumaniTche1
Introduction à JavaScript
Introduction à JavaScript
Abdoulaye Dieng
Concevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring Boot
DNG Consulting
Email et PHP5
Email et PHP5
Jean-Marie Renouard
SQL et MySQL
SQL et MySQL
Jean-Marie Renouard
Contenu connexe
Tendances
Cours php
Cours php
Yassine Badri
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSP
Youness Boukouchi
Initiation à Bootstrap
Initiation à Bootstrap
Abdoulaye Dieng
Module 2 introduction à asp.net web forms
Module 2 introduction à asp.net web forms
Mohammed Amine Mostefai
Alphorm.com Formation Laravel : Construire une Application de A à Z
Alphorm.com Formation Laravel : Construire une Application de A à Z
Alphorm
Présentation de RMI Java
Présentation de RMI Java
Zakaria Bouazza
Support de Cours JSF2 Première partie Intégration avec Spring
Support de Cours JSF2 Première partie Intégration avec Spring
ENSET, Université Hassan II Casablanca
Administration reseau
Administration reseau
Roka Elmourabiti
Intégration de SonarQube dans GitLab ci
Intégration de SonarQube dans GitLab ci
wiemfourati
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHP
Kristen Le Liboux
Theses Soutenues sous Direction et Co-Direction du Pr YOUSSFI
Theses Soutenues sous Direction et Co-Direction du Pr YOUSSFI
ENSET, Université Hassan II Casablanca
Java Server Faces (JSF)
Java Server Faces (JSF)
Heithem Abbes
Administration réseaux sous linux cours 1
Administration réseaux sous linux cours 1
Stephen Salama
Cours linux complet
Cours linux complet
aubin82
Python et son intégration avec Odoo
Python et son intégration avec Odoo
Hassan WAHSISS
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
ENSET, Université Hassan II Casablanca
Support programmation orientée objet c# .net version f8
Support programmation orientée objet c# .net version f8
ENSET, Université Hassan II Casablanca
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdf
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdf
GodefroyCheumaniTche1
Introduction à JavaScript
Introduction à JavaScript
Abdoulaye Dieng
Concevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring Boot
DNG Consulting
Tendances
(20)
Cours php
Cours php
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSP
Initiation à Bootstrap
Initiation à Bootstrap
Module 2 introduction à asp.net web forms
Module 2 introduction à asp.net web forms
Alphorm.com Formation Laravel : Construire une Application de A à Z
Alphorm.com Formation Laravel : Construire une Application de A à Z
Présentation de RMI Java
Présentation de RMI Java
Support de Cours JSF2 Première partie Intégration avec Spring
Support de Cours JSF2 Première partie Intégration avec Spring
Administration reseau
Administration reseau
Intégration de SonarQube dans GitLab ci
Intégration de SonarQube dans GitLab ci
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHP
Theses Soutenues sous Direction et Co-Direction du Pr YOUSSFI
Theses Soutenues sous Direction et Co-Direction du Pr YOUSSFI
Java Server Faces (JSF)
Java Server Faces (JSF)
Administration réseaux sous linux cours 1
Administration réseaux sous linux cours 1
Cours linux complet
Cours linux complet
Python et son intégration avec Odoo
Python et son intégration avec Odoo
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
Support programmation orientée objet c# .net version f8
Support programmation orientée objet c# .net version f8
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdf
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdf
Introduction à JavaScript
Introduction à JavaScript
Concevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring Boot
En vedette
Email et PHP5
Email et PHP5
Jean-Marie Renouard
SQL et MySQL
SQL et MySQL
Jean-Marie Renouard
Fichier XML et PHP5
Fichier XML et PHP5
Jean-Marie Renouard
Le client HTTP PHP5
Le client HTTP PHP5
Jean-Marie Renouard
Les structures de données PHP5
Les structures de données PHP5
Jean-Marie Renouard
Le client FTP de PHP5
Le client FTP de PHP5
Jean-Marie Renouard
Configuration PHP5
Configuration PHP5
Jean-Marie Renouard
PHP5 et les fichiers
PHP5 et les fichiers
Jean-Marie Renouard
Manuel de sécurisation d'un serveur Linux
Manuel de sécurisation d'un serveur Linux
Jean-Marie Renouard
Ssh cookbook
Ssh cookbook
Jean-Marie Renouard
Syntaxe du langage PHP
Syntaxe du langage PHP
Jean-Marie Renouard
Présentation de PHP
Présentation de PHP
Jean-Marie Renouard
PHP 5 et la programmation objet
PHP 5 et la programmation objet
Jean-Marie Renouard
Sécurité et Quaité de code PHP
Sécurité et Quaité de code PHP
Jean-Marie Renouard
MVC / Frameworks PHP
MVC / Frameworks PHP
Jean-Marie Renouard
Client base de données en PHP5
Client base de données en PHP5
Jean-Marie Renouard
Javascript et JQuery
Javascript et JQuery
Jean-Marie Renouard
Structure de données en PHP
Structure de données en PHP
Jean-Marie Renouard
Tutorial 1 ahp_relative_model_ver_2.2.x
Tutorial 1 ahp_relative_model_ver_2.2.x
elenau12
Regex php
Regex php
Bertrand day
En vedette
(20)
Email et PHP5
Email et PHP5
SQL et MySQL
SQL et MySQL
Fichier XML et PHP5
Fichier XML et PHP5
Le client HTTP PHP5
Le client HTTP PHP5
Les structures de données PHP5
Les structures de données PHP5
Le client FTP de PHP5
Le client FTP de PHP5
Configuration PHP5
Configuration PHP5
PHP5 et les fichiers
PHP5 et les fichiers
Manuel de sécurisation d'un serveur Linux
Manuel de sécurisation d'un serveur Linux
Ssh cookbook
Ssh cookbook
Syntaxe du langage PHP
Syntaxe du langage PHP
Présentation de PHP
Présentation de PHP
PHP 5 et la programmation objet
PHP 5 et la programmation objet
Sécurité et Quaité de code PHP
Sécurité et Quaité de code PHP
MVC / Frameworks PHP
MVC / Frameworks PHP
Client base de données en PHP5
Client base de données en PHP5
Javascript et JQuery
Javascript et JQuery
Structure de données en PHP
Structure de données en PHP
Tutorial 1 ahp_relative_model_ver_2.2.x
Tutorial 1 ahp_relative_model_ver_2.2.x
Regex php
Regex php
Similaire à Gestion de formulaires en PHP
Programmation Android - 09 - Web services
Programmation Android - 09 - Web services
Yann Caron
Meet up symfony 11 octobre 2016 - Les formulaire
Meet up symfony 11 octobre 2016 - Les formulaire
Julien Vinber
Quoi de neuf dans Zend Framework 1.10 ?
Quoi de neuf dans Zend Framework 1.10 ?
Mickael Perraud
Ouvrir vos plugins aux autres développeurs - WPTech Nantes
Ouvrir vos plugins aux autres développeurs - WPTech Nantes
corsonr
Symfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 Performant
Hugo Hamon
HTML5
HTML5
Neovov
HTML5 en projet
HTML5 en projet
Normandy JUG
Atelier WordPress: Création d’extension WordPress
Atelier WordPress: Création d’extension WordPress
IZZA Samir
Sécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défense
Antonio Fontes
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Francois Marier
Soutenance Zend Framework vs Symfony
Soutenance Zend Framework vs Symfony
Vincent Composieux
vue j'avais pas vu !!
vue j'avais pas vu !!
Manuel Adele
Vue, j’avais pas vu !
Vue, j’avais pas vu !
Bruno Bonnin
Mieux Développer en PHP avec Symfony
Mieux Développer en PHP avec Symfony
Hugo Hamon
Créer une barre de progression grâce à PHP 5.4
Créer une barre de progression grâce à PHP 5.4
🏁 Pierre-Henry Soria 💡
Cours php -partie 1.pdf
Cours php -partie 1.pdf
ssuserc46a93
Communications Réseaux et HTTP avec PHP
Communications Réseaux et HTTP avec PHP
julien pauli
Application web php5 html5 css3 bootstrap
Application web php5 html5 css3 bootstrap
Bassem ABCHA
Service WEB de type REST avec Java
Service WEB de type REST avec Java
Francois ANDRE
Html5 2
Html5 2
TECOS
Similaire à Gestion de formulaires en PHP
(20)
Programmation Android - 09 - Web services
Programmation Android - 09 - Web services
Meet up symfony 11 octobre 2016 - Les formulaire
Meet up symfony 11 octobre 2016 - Les formulaire
Quoi de neuf dans Zend Framework 1.10 ?
Quoi de neuf dans Zend Framework 1.10 ?
Ouvrir vos plugins aux autres développeurs - WPTech Nantes
Ouvrir vos plugins aux autres développeurs - WPTech Nantes
Symfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 Performant
HTML5
HTML5
HTML5 en projet
HTML5 en projet
Atelier WordPress: Création d’extension WordPress
Atelier WordPress: Création d’extension WordPress
Sécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défense
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Soutenance Zend Framework vs Symfony
Soutenance Zend Framework vs Symfony
vue j'avais pas vu !!
vue j'avais pas vu !!
Vue, j’avais pas vu !
Vue, j’avais pas vu !
Mieux Développer en PHP avec Symfony
Mieux Développer en PHP avec Symfony
Créer une barre de progression grâce à PHP 5.4
Créer une barre de progression grâce à PHP 5.4
Cours php -partie 1.pdf
Cours php -partie 1.pdf
Communications Réseaux et HTTP avec PHP
Communications Réseaux et HTTP avec PHP
Application web php5 html5 css3 bootstrap
Application web php5 html5 css3 bootstrap
Service WEB de type REST avec Java
Service WEB de type REST avec Java
Html5 2
Html5 2
Dernier
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
Institut de l'Elevage - Idele
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de plancher
mansouriahlam
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
Institut de l'Elevage - Idele
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
Institut de l'Elevage - Idele
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
mia884611
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
Institut de l'Elevage - Idele
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
Institut de l'Elevage - Idele
JTC 2024 Bâtiment et Photovoltaïque.pdf
JTC 2024 Bâtiment et Photovoltaïque.pdf
Institut de l'Elevage - Idele
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
Institut de l'Elevage - Idele
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
Institut de l'Elevage - Idele
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
Sophie569778
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversité
Institut de l'Elevage - Idele
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
Institut de l'Elevage - Idele
Algo II : les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
Sana REFAI
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
Institut de l'Elevage - Idele
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestion
yakinekaidouchi1
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentes
Institut de l'Elevage - Idele
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
Institut de l'Elevage - Idele
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
Institut de l'Elevage - Idele
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
Institut de l'Elevage - Idele
Dernier
(20)
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de plancher
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
JTC 2024 Bâtiment et Photovoltaïque.pdf
JTC 2024 Bâtiment et Photovoltaïque.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
Algo II : les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestion
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
Gestion de formulaires en PHP
1.
Jean-Marie Renouard LightPath
2014©
2.
Le logo PHP
est du domaine public http://commons.wikimedia.org/wiki/File:PHP-logo.svg Ce document est licencié sous licence ◦Attribution-NonCommercial-ShareAlike ◦CC BY-NC-SA Plus de détails: http://creativecommons.org/licenses/by-nc-sa/3.0/fr/ LightPath 2014© - http://www.jmrenouard.fr 2
3.
Elément de sécurité
au transfert Validation côté client Validation côté serveur Format des données Restriction des données Formulaires anti-robots Protection des données côté serveur LightPath 2014© - http://www.jmrenouard.fr 3
4.
2 types de
formulaire Structure d’un formulaire Contenu d’un formulaire Elément d’un formulaire Cas de l’upload de fichiers Récupération des données d’un formulaire Récupération des fichiers uploadés LightPath 2014© - http://www.jmrenouard.fr 4
5.
LightPath 2014© -
http://www.jmrenouard.fr 5
6.
Formulaire type GET
◦ Récupération d’information ◦ Les éléments constituent les paramètres. ◦<FORM METHOD=« GET » … Formulaire type POST ◦ Envoi d’information ◦ Les éléments constituent les données à traiter. ◦<FORM METHOD=« POST » … LightPath 2014© - http://www.jmrenouard.fr 6
7.
LightPath 2014© -
http://www.jmrenouard.fr 7
8.
METHOD: Méthode de
transfert ACTION: URL d’envoi ENCTYPE: Type d’encodage ELEMENTS: Ensemble d’élément du formulaire ◦ Zone d’échange d’information ◦Ne sont transmis qu’à la validation du formulaire LightPath 2014© - http://www.jmrenouard.fr 8
9.
<FORM method=« post
» action=« post.php"> Login: <INPUT type=« text » name=« login" /> <br/> Password: <INPUT type=« password » name=« password" /> <br/> <INPUT type="submit" value="Envoyer"> </FORM> LightPath 2014© - http://www.jmrenouard.fr 9
10.
LightPath 2014© -
http://www.jmrenouard.fr 10
11.
Les entrées Les
sélecteurs Les zones de texte LightPath 2014© - http://www.jmrenouard.fr 11
12.
Une ligne de
saisie Déclaration du type d’entrée ◦Attribut type ◦<input type=« xxx » Définition d’un nom à chaque entrée ◦Attribut name ◦<input name=« nom » …/> LightPath 2014© - http://www.jmrenouard.fr 12
13.
Assignation d’une valeur
par défaut ◦Attribut value ◦<input value=« moi » …/> Assignation d’une taille ◦Attribut size ◦<input size=« 10 » …/> LightPath 2014© - http://www.jmrenouard.fr 13
14.
Text: Saisie non
masquée de texte Password: Saisie masquée de texte Hidden: Champ caché à l’affichage File: Champ de sélection de fichier LightPath 2014© - http://www.jmrenouard.fr 14
15.
Radio: case type
radio/choix exclusif Checkbox: case type case à cocher LightPath 2014© - http://www.jmrenouard.fr 15
16.
submit: Bouton d’envoi
de formulaire reset: Bouton de remise à zéro image: Bouton d’envoi de formulaire ◦Attribut src ◦<input type=« image » src=« envoi.png » … LightPath 2014© - http://www.jmrenouard.fr 16
17.
Menu type drop
down <SELECT><option>…</option>…</SELECT> Définition d’un nom du sélecteur ◦<Select name=« menu » …</select> Activation de la sélection multiple ◦<Select multiple=« 1 » …</select> LightPath 2014© - http://www.jmrenouard.fr 17
18.
Une option d’un
sélecteur ◦<option>…</option> Affectation d’un valeur à une option ◦Attribut value ◦<option value=« pierre »>Pierre</option> Sélection par défaut ◦Attribut selected ◦<option SELECTED >Pierre</option> LightPath 2014© - http://www.jmrenouard.fr 18
19.
Zone de texte
libre non masquée ◦<TEXTAREA></TEXTAREA> Définition d’un nom du sélecteur ◦Attribut name ◦<TEXTAREA name=« menu »></ TEXTAREA > Définition de la taille en colonne et ligne ◦Attributs cols et rows ◦<TEXTAREA cols=« 10 » rows=« 10 » ></ TEXTAREA > LightPath 2014© - http://www.jmrenouard.fr 19
20.
LightPath 2014© -
http://www.jmrenouard.fr 20
21.
Entrée type file
◦<input type=« file » name=«fichier »/> La balise form avec un attribut enctype ◦<form enctype=« multipart/form- data »>…</form> Autorisation de transmission en plusieurs Requêtes HTTP (multipart ). LightPath 2014© - http://www.jmrenouard.fr 21
22.
Envoi de plusieurs
valeurs Utilisation des crochets dans l’attribut name ◦<input name =« fichier[] » …> ◦<input name =« fichier[] » …> Valable pour toutes les types d’entrée ◦Ex: option LightPath 2014© - http://www.jmrenouard.fr 22
23.
LightPath 2014© -
http://www.jmrenouard.fr 23
24.
Tout est dans
le tableau $_GET Les attributs name des éléments servent directement comme clé du tableau. foreach ($_GET as $k => $v) echo « $k = $v »; LightPath 2014© - http://www.jmrenouard.fr 24
25.
Tout est dans
le tableau $_POST Les attributs name des éléments servent directement comme clé du tableau. foreach ($_POST as $k => $v) echo « $k = $v »; . LightPath 2014© - http://www.jmrenouard.fr 25
26.
LightPath 2014© -
http://www.jmrenouard.fr 26
27.
Tout est dans
le tableau $_FILE Chaque entrée du tableau correspond à un fichier La clé est le nom de l’entrée Chaque élément du tableau contient: ◦Le nom du fichier d’origine: $_FILES[‘fichier1’][‘name’] ◦Le type mime : $_FILES[‘fichier1’][‘type’] ◦La taille du fichier: $_FILES[‘fichier1’][‘size’] ◦Le nom du fichier temporaire local: $_FILES[‘fichier1’][‘tmp_name’] ◦Le code d’erreur du fichier : $_FILES[‘fichier1’][‘error’] . LightPath 2014© - http://www.jmrenouard.fr 27
28.
LightPath 2014© -
http://www.jmrenouard.fr 28
29.
Passage en HTTPS
Le site est souvent en HTTPs intégral. <form ACTION=« https://serveur.com/post.php » …></form> LightPath 2014© - http://www.jmrenouard.fr 29
30.
LightPath 2014© -
http://www.jmrenouard.fr 30
31.
Réalisation par script
JS Peu fiable ( attaque ) Inutile si Javascript désactivé Facilitation de contournement. LightPath 2014© - http://www.jmrenouard.fr 31
32.
<form onsubmit="return valide_form
( );" …> A l’envoi, la fonction valide_form est invoqué: ◦Si true est renvoyé par la méthode JS, le formulaire est envoyé. ◦Sinon, il faut effectuer une nouvelle soumission. LightPath 2014© - http://www.jmrenouard.fr 32
33.
<form name=« formulaire»
method="post" action=« post.php" onsubmit="return valide_form ( );"> <h1>Entrer Votre Nom</h1> <p>Votre Nom: <input type="text" name="nom"></p> <p><input type="submit" name="send" value=« Envoyer"></p> </form> LightPath 2014© - http://www.jmrenouard.fr 33
34.
<script type="text/javascript"> <!–
function valide_form ( ) { valid = true; if ( document.formulaire.nom.value == "" ) { alert ( « Remplisser le nom." ); valid = false; } return valid; } //--> </script> LightPath 2014© - http://www.jmrenouard.fr 34
35.
LightPath 2014© -
http://www.jmrenouard.fr 35
36.
Fiable car contrôlé
par l’application L’utilisateur ne peut altérer le comportement. Il peut le détourner seulement. Si les données ne sont pas correctes, ◦Pas de traitement des données ◦Renvoi d’un nouveau formulaire avec les erreurs LightPath 2014© - http://www.jmrenouard.fr 36
37.
LightPath 2014© -
http://www.jmrenouard.fr 37
38.
Vérification de la
taille des chaînes ◦if (count($_POST[‘nom’] > 255) { …} Vérification du type ◦is_array, is_bool, is_callable, is_double, is_float, is_int, is_integer, is_long, is_null, isset, is_numéric, is_object, is_real, is_resource, is_scalar, is_string LightPath 2014© - http://www.jmrenouard.fr 38
39.
Vérification format email:
◦if (!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9- ]+(.[a-z0-9-]+)*(.[a-z]{2,3})$", $email)){ …} Vérification d’une date ◦If (!preg_match( '`^d{1,2}/d{1,2}/d{4}$`' , $value ) ) {…} LightPath 2014© - http://www.jmrenouard.fr 39
40.
La fonction filter_var
permet la validation de certains formats: ◦FILTER_VALIDATE_BOOLEAN ◦FILTER_VALIDATE_EMAIL ◦FILTER_VALIDATE_FLOAT ◦FILTER_VALIDATE_INT ◦FILTER_VALIDATE_IP ◦FILTER_VALIDATE_REGEXP ◦FILTER_VALIDATE_URL LightPath 2014© - http://www.jmrenouard.fr 40
41.
LightPath 2014© -
http://www.jmrenouard.fr 41
42.
$allow=array(‘nom ’, ‘comments’);
foreach ($_POST as $key => $val) { if (! in_array($allow, $key) { unset($_POST[$key]); } } LightPath 2014© - http://www.jmrenouard.fr 42
43.
LightPath 2014© -
http://www.jmrenouard.fr 43
44.
Utilisation d’un catcha
Image avec formulaire de saisie Blocage de tous les robots sans OCR. Élimination de 99% des spams LightPath 2014© - http://www.jmrenouard.fr 44
45.
Génération d’une chaîne
aléatoire Stockage de la clé MD5 de la chaîne en SESSION ($_SESSION) Création de l’image de la chaîne Envoi du résultat. LightPath 2014© - http://www.jmrenouard.fr 45
46.
Récupération de la
valeur du catcha Calcul de la clé MD5 de la valeur Comparaison avec la valeur en session. Si pas identique, régénérer une image. Si identique, supprimer l’entrée en session LightPath 2014© - http://www.jmrenouard.fr 46
47.
LightPath 2014© -
http://www.jmrenouard.fr 47
48.
Retrait de tous
les caractères sensibles Encodage des caractères sensibles But est d’éviter les attaques: ◦Empêcher les attaques de XSS Risques: ◦Redirection ◦Vol d’information ◦Ralentissement ◦Exécution d’action non désirée en fond LightPath 2014© - http://www.jmrenouard.fr 48
49.
Retrait de balises
HTML: strip_tags Encodage html: htmlentities Encode url: urlencode LightPath 2014© - http://www.jmrenouard.fr 49
50.
La fonction filter_var
permet l’épuration ◦FILTER_SANITIZE_EMAIL ◦FILTER_SANITIZE_ENCODED ◦FILTER_SANITIZE_MAGIC_QUOTES ◦FILTER_SANITIZE_NUMBER_FLOAT ◦FILTER_SANITIZE_NUMBER_INT ◦FILTER_SANITIZE_SPECIAL_CHARS ◦FILTER_SANITIZE_STRING ◦FILTER_SANITIZE_STRIPPED ◦FILTER_SANITIZE_URL ◦FILTER_UNSAFE_RAW LightPath 2014© - http://www.jmrenouard.fr 50
51.
Documentation du PHP
http://www.php.net/docs LightPath 2014© - http://www.jmrenouard.fr 51
52.
LightPath: ◦Société de
conseil et d’ingénierie ◦Formations, Conseil, Audit et mise en oeuvre ◦jmrenouard@lightpath.fr Jean-Marie RENOUARD ◦jmrenouard@gmail.com ◦Twitter: @jmrenouard ◦http://www.jmrenouard.fr LightPath 2014© - http://www.jmrenouard.fr 52
Télécharger maintenant