Examen du niveau 2 — durci

Examen — questions inédites

2.1 · Rappel

1. Que contiennent $_GET et $_POST ?

GET : données dans l'URL ; POST : données dans le corps — lues via les superglobales.
2.1 · Application

2. Riad affiche le nom saisi dans son formulaire. Quelle ligne est sûre ?

htmlspecialchars neutralise le HTML/JavaScript injecté : l'affichage reste du texte.
2.1 · Arbitrage

3. Un collègue affirme que sa validation JavaScript suffit et veut supprimer les contrôles PHP. Verdict de Riad ?

JavaScript désactivé, code modifié ou requête forgée : le client ne protège jamais.
2.2 · Rappel

4. Quelle est la différence entre un cookie et une session ?

Données de confiance en session (serveur) ; préférences non sensibles en cookie.
2.2 · Application

5. Riad code la connexion des adhérents. Quel enchaînement est correct ?

Vérification sur le hash, ID régénéré contre la fixation, identité côté serveur.
2.2 · Arbitrage

6. Un adhérent change l'id dans l'URL et voit les données d'un autre. Quelle règle manquait ?

Connecté ne veut pas dire autorisé : chaque ressource contrôle son accès.
2.3 · Application

7. Riad factorise son menu dupliqué dans dix pages. Que fait-il ?

Écrire une fois, inclure partout : une modification à un seul endroit.
2.3 · Application

8. Riad reçoit une photo d'événement via $_FILES. Quelle pratique est correcte ?

Upload = entrée hostile : type réel, renommage, stockage sans exécution.
2.3 · Arbitrage

9. Un collègue propose include $_GET['page'] pour charger les pages dynamiquement. Verdict ?

Un chemin utilisateur inclus sans contrôle laisse l'attaquant charger des fichiers arbitraires.
2.4 · Rappel

10. Comment stocker et afficher une date correctement ?

ISO : triable, non ambigu, standard en base ; le format local n'est qu'un affichage.
2.4 · Application

11. Riad doit valider l'e-mail d'un nouvel adhérent. Que choisit-il ?

Cas courant = filtre éprouvé ; regex réservée aux motifs métier spécifiques.
2.4 · Application

12. La lettre d'information doit partir à 500 adhérents. Quelle solution ?

Bibliothèque dédiée : authentification, pièces jointes, délivrabilité — en-têtes verrouillés.
Et après ?
Retour au guideSommaire du guide