Failles des applications web
Dans une première partie, nous verrons les différentes attaques que l’on peut perpétrer contre les applications web.
Pour cela, quelques pré-requis vous seront toutefois nécessaires.
Comme pour tout en informatique, nous utilisons des langages pour faire comprendre à l’ordinateur ce que l’on veut faire.
Dans le domaine du développement web, les trois piliers du ninjutsu sont le HTML, le CSS et le JavaScript. C’est la base que tout bon développeur web se doit de bien comprendre. Commençons par le premier.
I - Le saint-langage HTML
Le langage HTML (HyperText Markup Language) est le langage décrivant le squelette des pages web. C’est celui que l’on utilise pour dire à l’ordinateur : « Je veux un titre », « Je veux une image », « Je veux un formulaire pour que l’on puisse me contacter », etc.
Les fichiers contenant du code HTML sont de simples fichiers texte, que l’on peut donc ouvrir avec Notepad par exemple sans problème.
En revanche, des éditeurs de texte spécialisés permettent des fonctionnalités bien utiles pour le développement web, comme la coloration automatique des éléments HTML afin de mieux s’y retrouver dans son code. Vous pouvez par exemple utiliser Sublime Text, Brackets, ou encore Atom à votre convenance.
Débutons par un premier exemple de code HTML très simple. Le code suivant est commenté à chaque ligne par les textes après "//" afin de vous expliquer ce que fait précisément ladite ligne. Pour une meilleure lisibilité, je vous invite à copier/coller le code dans l'éditeur de texte que vous aurez choisi.
- Code:
-
<html> // Balise contenant le code HTML
<header> // Balise contenant les informations dont le navigateur a besoin pour afficher correctement la page (encodage des caractères utilisé, nom de la page, fichiers CSS de la page…)
<title>Nom de la page</title> // Balise contenant le nom de la page affiché par le navigateur
</header>
<body> // Balise contenant le contenu de la page à proprement parler
<h1>Gros titre</h1> // Balise contenant un titre de niveau 1 (gros titre)
<p>Paragraphe</p> // Balise contenant un paragraphe
</body>
</html>
Le langage HTML est un langage fait de balises. L’exemple précédent en donne quelques-unes, avec une description de ce qu’elles peuvent contenir. Comme on peut le voir, des balises peuvent en contenir d’autres : on appelle ça l’imbrication. On observe dans l’exemple qu’une balise h1 est imbriquée à l’intérieur de la balise body.
En règle générale, chaque balise ouvrante doit être refermée plus tard par la balise fermante correspondante :
- Code:
-
<html> est une balise ouvrante ;
</html> est sa balise fermante correspondante.
Attention à respecter l’ordre de fermeture des balises !
Il existe des exceptions à cette dernière règle : il s’agit des balises orphelines. Elles s'ouvrent mais ne se ferment pas !
- Code:
-
<img src='image.png' /> // insère une image dont le nom est image.png (chemin relatif)
<br /> // effectue un retour à la ligne
Pour chaque partie du cours (ici nous en sommes à la partie 1/8), il y aura à la fois un cours écrit sur ce forum, suivi d'un cours sur Habbo que je souhaite le plus interactif possible, et enfin un devoir associé à la partie.