diff --git a/b1-bak/README.md b/b1-bak/README.md new file mode 100644 index 0000000..386c5a9 --- /dev/null +++ b/b1-bak/README.md @@ -0,0 +1,37 @@ +# developpement BACK-END avec notions de sécurité / sécurisation + +Les résumé des point vue lors des différentes session et un résumé des failles et des solutions pour les sécuriser. + +## session 1 : + +### /bak + +exemple de code php correspondant à certain pseudo codes + + - variables php + - tableaux + - boucles for + - ... + +### /blog + +Exemple d'un code de blog permettant d'afficher un article après connection à une base de données. + + - code mysqli pour se connecter à une base de données + - comment se protéger des failles xss (fonction strip tags ou htmlentities) + - comment valider un champ avec une expression rationnelle + +## session 2 : + +### /blog + +Exemple d'un code de blog permettant d'afficher un article après connection à une base de données. + + - code mysqli pour inserer des enregistrements + - comment se protéger des injections SQL (en utilisant des requêtes préparées) + - en exercice : modifier index.php pour faire pourvoir permettre à un internaute de poster un commentaire. + +## pour résumer : + + - XSS ou "Cross Site Scripting" = le fait d'injecter du JS dans des champs de saisie pour exécuter du code sur le navigateur client. On s'en protège en supprimant les tags html, soit tous, soit plus finement en limitant ceux autorisés par exemple). + - Injections SQL = le fait d'injecter du code SQL dans les champs de saisie en espérant que ce code soit exécté par le moteur de bases de données. On s'en protège en "escapant" les zones saisies ou en forçant les type. Mais plus cimplement en utilisant des requêtes préparée et en laissant la librairie (mysqli pour php) ou l'ORM ou le framework faire le travail à notre place. diff --git a/b1-bak/session2/blog/exercice.txt b/b1-bak/session2/blog/exercice.txt new file mode 100644 index 0000000..1b29281 --- /dev/null +++ b/b1-bak/session2/blog/exercice.txt @@ -0,0 +1,25 @@ + + + +Dans blog/index.php + +reprendre l'exemple de l'insertion d'articles + pour insérer un commentaire si il n'y a pas d'erreur + avec une requête préparée. + + +Etapes : +1. créer la table commentaire en + copiant le code qui est dans + /b1-bak/session2/blog/commentaire.sql + sur le git du cours + +2. faire une sertion via phpmyadmin pour récupérer + le sql d'une insertion de commentaire + +3. modifier le php pour utiliser cette requete + d'insertion de façon "préparée" + + + +