Par Ass Serge KIKOBYA L1 - ISIG-GOMA

Transcription

Par Ass Serge KIKOBYA L1 - ISIG-GOMA
1
ENSEIGNEMENT SUPERIEUR ET UNIVERSITAIRE
INSTITUT SUPERIEUR D’INFORMATIQUE ET
DE GESTION
Goma, le …/…/20..
1ère Année de Licence (L1IG)
Ass. Serge KIKOBYA
I.S.I.G
EXAMEN DE PROGRAMMATION WEB-2
1ère SESSION
N°
1.
Labelle-1
POINTS
/5
Labelle-2
Donnez les rôles de ces ensembles des technologies de développement de page
web et pour chacune, donnez-en un morceau de code d’exemple :
a) HTML
b) CSS
c) JAVASCRIPT
d) PHP
e) MYSQL
REPONSE
2.
POINTS
A. On veut créer un forum élémentaire : il y a une seule page contenant les
messages du forum (un seul thread) et chaque message comporte un texte, une
référence à un utilisateur, et une estampille temporelle (timestamp) du moment
où ce message a été posté. Un utilisateur a un identifiant, un mot de passe, une
adresse e-mail et, de manière optionnelle, une URL pointant vers une page Web
personnelle.
1. Imaginer un schéma de base de données relationnelle adaptée à cette
application (Diagramme de classe permettant de créer les tables
correspondantes dans l'outil en ligne de commande ou dans l'interface
phpMyAdmin).
/15
2. Créer des interfaces utilisateurs (page web) pour peupler cette base de
données avec quelques utilisateurs (add_user.php) et messages
(add_message.php) d'exemple.
3. Créer une page PHP all_message.php listant l'ensemble des messages,
triés par date (le plus récent d'abord).
4. Ecrire un script update_user.php permettant de modifier un utilisateur.
5. Ecrire un script delete_user.php permettant de supprimer un utilisateur.
6. Ecrire un script find_message.php permettant de retrouver tous les
messages de l’utilisateur recherché.
B. Authentification
7. Ajouter une page form_login.html avec un formulaire demandant le login
et mot de passe. L'action de ce formulaire pointe vers un script login.php.
8. Ecrire le script login.php. Si les identifiants et mots de passe sont
correcte, on stocke le nom de l'utilisateur dans une variable de session et
on redirige (avec header("Location: forum.php");) vers la page du forum
sinon, on redirige vers le formulaire d'identification (login.php).
9. Modifier forum.php pour contrôler que l’utilisateur qui arrive sur cette
zone est bien connecté; sinon, on redirige vers le formulaire
2
d'identification. Donc faire en sorte que l'utilisateur postant le message
soit bien l'utilisateur connecté.
10. Ajouter une fonctionnalité de déconnexion.
REPONSE
NOTE DE COURS : Hacking des applications Web
Cette partie mise de vous faire comprendre sur les failles de sécurité applicatives, en quoi elles sont
très différentes des failles de sécurité réseau. Et surtout de se focaliser sur la façon dont on les
résout.
On va se fonder sur un ensemble des failles qui sont recueillis par un groupe de sécurité qui s’appelle
OWASP (Open Web Application Security and Project) et qui tous les trois ans établit une liste des
failles de sécurités applicative dont la plus célèbre est l’injection SQL (elle consiste essentiellement à
s’introduire dans une application web directement dans sa partie BD en utilisant les champs de
formulaire dont les contenus sont incorrectement validés et incorrectement transmis à la base des
données.
C’est ce type d’injections qui a permis, il y a quelques années aux Hackers de voler cinquante millions
de numéro de cartes de crédit dans une application de commerce électronique, sur une durée de 17
mois.
Donc, le but de cette partie est de savoir modifier son code pour vérifier que la faille est devenue
inopérante. Tenez en compte quand vous répondez aux questions ci-haute.
Bonne chance à tous

Documents pareils