QCM Javascript – Partie 39
QCM sur Javascript avec des réponses pour la préparation des tests techniques, des tests en ligne, aux examens et aux certifications. Ces questions et réponses sont tirés d’un vrai entretien écrit et certaines parties sont en direct.
1. Qu’est-ce que le Cross-Site Scripting (XSS) dans le contexte de la sécurité web ?
A Le vol de cookies et de jetons de session
B L’injection de scripts malveillants dans les pages web consultées par d’autres utilisateurs
C S’introduire dans des bases de données par le biais de l’interface web
D Désactiver des sites web par des attaques par déni de service
2. Qu’est-ce que la politique de sécurité du contenu (CSP – Content Security Policy) et comment contribue-t-elle à la sécurité du web ?
A Une politique qui limite les types de contenu pouvant être chargés sur une page web afin de prévenir les attaques XSS.
B Une configuration de serveur qui crypte toutes les données quittant un site web
C Une fonction JavaScript qui valide les données saisies par l’utilisateur sur une page web
D Protocole de communication sécurisée entre un site web et sa base de données
3. En quoi le code JavaScript suivant peut-il constituer un risque pour la sécurité ?
document.write(userInput); //Où userInput est une valeur entrée par l'utilisateur
A Il peut conduire à un XSS si userInput n’est pas correctement analysé.
B Il peut ralentir le site web
C Il peut écraser des données importantes
D Il peut rendre le site indisponible
4. Quel problème de sécurité ce code présente-t-il et comment peut-il être résolu ?
let userData = JSON.parse(localStorage.getItem('userData'));
A Le code peut exécuter un JavaScript malveillant à partir de localStorage, ce qui peut être évité en validant et en nettoyant les données avant de les utiliser.
B Les données peuvent être obsolètes, ce qui entraîne des problèmes de performance.
C Le code peut être bloqué par les paramètres de sécurité du navigateur
D Le code expose les données de l’utilisateur dans le champ d’application global
5. Identifiez la faille de sécurité dans cet extrait de code :
let username = document.querySelector('#username').value; if (username.length < 3) { alert('username trop court'); }
A Vulnérabilité potentielle de type Cross-Site Scripting
B Mauvaise validation de la longueur du nom d'utilisateur
C Absence de cryptage du nom d'utilisateur
D Aucune faille de sécurité
6. Identifiez la faille de sécurité dans cet extrait de code :
fetch('https://api.example.com/data', { credentials: 'include' }) .then(response => response.json()) .then(data => console.log(data));
A Il autorise le partage de ressources entre origines (CORS) sans vérifications appropriées.
B Il envoie des informations d'identification sans vérifier le type de réponse
C Il n'y a pas de gestion des erreurs pour la requête "fetch".
D Les données de la réponse sont affichées, ce qui peut constituer un risque pour la sécurité.
7. Que sont localStorage et sessionStorage dans le développement web ?
A Mécanismes de stockage côté serveur
B Mécanismes de stockage basés sur les cookies
C Mécanismes de stockage côté client qui stockent les données localement dans le navigateur de l'utilisateur
D Solutions de stockage en base de données fournies par le navigateur
8. Quelle est la principale différence entre localStorage et sessionStorage ?
A localStorage est plus grand que sessionStorage
B localStorage conserve les données pendant les sessions du navigateur, tandis que sessionStorage les efface à la fin de la session.
C sessionStorage est plus sécurisé que localStorage
D localStorage peut stocker des types de données complexes, ce qui n'est pas le cas de sessionStorage
9. Comment rendre le stockage sur le web plus sécurisé contre les attaques XSS ?
A En chiffrant les données stockées dans le stockage web
B En utilisant des cookies au lieu du stockage sur le web
C En ne stockant que des données non sensibles dans le stockage web
D En limitant la taille des données stockées
10. Que fait ce code ?
localStorage.setItem('user', 'Bob'); console.log(localStorage.getItem('user'));
A Récupère les données d'un utilisateur sur le serveur.
B Enregistre l'utilisateur "Bob" dans la mémoire de session et l'affiche.
C Enregistre l'utilisateur "Bob" dans la mémoire locale et l'affiche.
D Crée un cookie nommé "user" avec la valeur "Bob".