Aller au contenu principal
Développement

XSS

Le XSS (Cross-Site Scripting) est une vulnérabilité qui permet à un attaquant d'injecter du code JavaScript malveillant dans une page web consultée par d'autres utilisateurs. Cette faille, régulièrement classée dans le Top 10 OWASP, peut mener au vol de sessions, à la redirection vers des sites frauduleux ou à la modification du contenu affiché.

Comment ça fonctionne

Un attaquant exploite un champ de saisie mal protégé pour insérer un script exécuté par le navigateur de la victime. Il existe trois variantes : XSS stocké (persistant en base), XSS réfléchi (via l'URL) et XSS basé sur le DOM. Chacune nécessite des contre-mesures spécifiques.

Se protéger efficacement

La protection repose sur l'échappement systématique des sorties, la validation des entrées et l'utilisation d'en-têtes de sécurité comme Content-Security-Policy. Les frameworks modernes comme Symfony et Twig échappent automatiquement le HTML, mais la vigilance reste de mise sur les contextes JavaScript et les attributs.

Le XSS reste l'une des failles les plus répandues sur le web, pourtant elle est évitable avec des pratiques de développement rigoureuses et un framework qui protège par défaut.

Même catégorie

Autres termes : Développement

A/B testing L'A/B testing compare deux variantes d'une fonctionnalité pour identifier celle qui performe le mieux. Méthode, outils et limites pour des décisions éclairées.
arrow_forward
API Une API (Application Programming Interface) est un contrat d'échange entre deux systèmes logiciels. Découvrez son rôle central dans les architectures web modernes.
arrow_forward
API Platform API Platform est le framework de référence pour créer des API REST et GraphQL en PHP/Symfony. Découvrez ses fonctionnalités et son rôle dans les architectures modernes.
arrow_forward
Accessibilité web L'accessibilité web (a11y) consiste à concevoir des sites et applications utilisables par tous, y compris les personnes en situation de handicap.
arrow_forward
Backend Le backend est la partie invisible d'une application web : serveur, base de données, logique métier et API. C'est le moteur qui fait tourner votre produit.
arrow_forward
Base de données Une base de données est un système organisé de stockage et de récupération d'informations. Relationnelle ou NoSQL, elle est au cœur de toute application web.
arrow_forward
Clean code Le clean code est une discipline de développement qui privilégie la lisibilité, la simplicité et la maintenabilité du code source.
arrow_forward
Code legacy Le code legacy désigne du code ancien, difficile à maintenir et à faire évoluer. Comment l'identifier, le gérer et le moderniser progressivement.
arrow_forward
Data pipeline Un data pipeline est une chaîne automatisée de traitements qui collecte, transforme et achemine les données d'une source vers une destination.
arrow_forward
Design patterns Les design patterns sont des modèles de conception réutilisables qui résolvent des problèmes architecturaux fréquents en développement logiciel.
arrow_forward
Design system Un design system est un ensemble de composants, règles et guidelines partagés qui garantissent la cohérence visuelle et fonctionnelle d'un produit.
arrow_forward
Dette technique La dette technique est le coût caché des compromis techniques accumulés dans un projet. Découvrez comment l'identifier, la mesurer et la maîtriser avant qu'elle ne bloque votre évolution.
arrow_forward
ETL L'ETL (Extract, Transform, Load) est un processus de migration et d'intégration de données entre systèmes. Le socle de toute stratégie data.
arrow_forward
Elasticsearch Elasticsearch est un moteur de recherche et d'analyse distribué. Découvrez ses fonctionnalités, ses cas d'usage et comment il améliore l'expérience de recherche dans vos applications.
arrow_forward
Feature flags Les feature flags permettent d'activer ou désactiver des fonctionnalités en production sans nouveau déploiement. Un levier puissant pour livrer plus vite et réduire les risques.
arrow_forward
Framework Un framework est un socle logiciel structurant qui fournit conventions, outils et bibliothèques pour développer plus vite et plus proprement.
arrow_forward
Frontend Le frontend est la partie d'une application web avec laquelle l'utilisateur interagit directement : HTML, CSS, JavaScript et frameworks comme React.
arrow_forward
Headless CMS Un headless CMS sépare la gestion du contenu de sa présentation. Il expose le contenu via une API, consommable par n'importe quel front-end.
arrow_forward
Injection SQL L'injection SQL est une attaque qui manipule les requêtes de base de données via des entrées utilisateur non filtrées. Une menace toujours d'actualité.
arrow_forward
Jamstack La Jamstack (JavaScript, APIs, Markup) est une architecture web qui pré-génère les pages et s'appuie sur des API pour le contenu dynamique.
arrow_forward
Monorepo Un monorepo regroupe plusieurs projets ou modules dans un même dépôt Git. Avantages, inconvénients et quand cette stratégie est pertinente.
arrow_forward
NoSQL NoSQL désigne les bases de données non relationnelles, conçues pour la flexibilité, la scalabilité horizontale et les structures de données variées.
arrow_forward
OAuth2 / Authentification OAuth2 est le standard d'autorisation qui sécurise l'accès aux API et aux applications web. Découvrez ses mécanismes, ses flux et comment les implémenter correctement.
arrow_forward
OWASP L'OWASP (Open Web Application Security Project) est une organisation qui publie les standards de référence en matière de sécurité applicative, dont le célèbre Top 10.
arrow_forward
Observabilité L'observabilité est la capacité à comprendre l'état d'un système à partir de ses sorties. Logs, métriques et traces : les trois piliers pour piloter vos applications.
arrow_forward
PHP Découvrez PHP, le langage de programmation serveur le plus utilisé au monde. Ses forces, ses évolutions récentes et pourquoi il reste un choix stratégique pour vos projets web.
arrow_forward
PWA Une PWA est une application web qui offre une expérience proche d'une application native. Découvrez ses fonctionnalités, ses avantages et quand la préférer à une app mobile classique.
arrow_forward
Pentesting Le pentesting (test d'intrusion) consiste à simuler des attaques sur une application pour identifier ses vulnérabilités avant qu'un attaquant ne les exploite.
arrow_forward
PostgreSQL PostgreSQL est le système de gestion de base de données relationnelle open source le plus avancé. Découvrez ses forces, ses fonctionnalités et pourquoi le choisir pour vos projets.
arrow_forward
REST API Une REST API est une interface de programmation qui permet à des applications de communiquer via HTTP. Découvrez ses principes, ses bonnes pratiques et son rôle dans les architectures modernes.
arrow_forward
React React est la bibliothèque JavaScript la plus populaire pour construire des interfaces utilisateur dynamiques. Découvrez ses principes, ses avantages et ses cas d'usage.
arrow_forward
Redis Redis est un système de stockage en mémoire utilisé pour le cache, les files de messages et les sessions. Découvrez comment il accélère vos applications web.
arrow_forward
Refactoring Le refactoring consiste à restructurer du code existant pour le rendre plus lisible, maintenable et évolutif, sans modifier son comportement fonctionnel.
arrow_forward
Refonte d'application La refonte d'application consiste à reconstruire un logiciel existant. Découvrez les signaux qui l'imposent, les stratégies possibles et les pièges à éviter.
arrow_forward
SOLID SOLID est un acronyme regroupant cinq principes de conception orientée objet qui guident l'écriture de code flexible, maintenable et extensible.
arrow_forward
SQL SQL (Structured Query Language) est le langage standard pour interroger et manipuler les bases de données relationnelles. Un fondamental du développement web.
arrow_forward
SSR / CSR Le SSR (Server-Side Rendering) et le CSR (Client-Side Rendering) sont deux approches de rendu des pages web. Découvrez leurs différences, avantages et cas d'usage respectifs.
arrow_forward
Stack technique La stack technique est l'ensemble des technologies qui composent votre application. Découvrez comment la choisir pour garantir performance, maintenabilité et pérennité.
arrow_forward
Symfony Symfony est le framework PHP de référence pour les applications web d'entreprise. Découvrez ses avantages, son architecture et pourquoi les équipes techniques le choisissent.
arrow_forward
TailwindCSS TailwindCSS est un framework CSS basé sur des classes utilitaires. Découvrez son approche, ses avantages et pourquoi il accélère le développement d'interfaces web modernes.
arrow_forward
Tests automatisés Les tests automatisés vérifient le bon fonctionnement de votre application à chaque modification de code. Découvrez les différents types de tests et leur rôle dans un projet web.
arrow_forward
UX/UI L'UX (expérience utilisateur) et l'UI (interface utilisateur) sont deux disciplines complémentaires qui déterminent la qualité perçue d'une application.
arrow_forward
Vite Vite est un outil de build et de développement front-end qui révolutionne la vitesse de compilation. Découvrez son fonctionnement, ses avantages et son intégration avec Symfony.
arrow_forward
Web scraping Le web scraping est une technique d'extraction automatisée de données depuis des pages web. Cas d'usage, cadre légal et bonnes pratiques.
arrow_forward
WebSocket Le protocole WebSocket permet une communication bidirectionnelle en temps réel entre le navigateur et le serveur. Découvrez ses cas d'usage et son fonctionnement.
arrow_forward
Webhook Un webhook est un mécanisme de callback HTTP qui permet à une application de notifier une autre en temps réel lorsqu'un événement se produit. Fonctionnement et cas d'usage.
arrow_forward
Voir tout le glossaire arrow_forward

Un projet en lien avec xss ?

Échangeons sur vos enjeux techniques. Pas de discours commercial, pas de jargon inutile : un diagnostic clair et des solutions concrètes.