Analyseur comparatif d'URL
Collez un ou plusieurs URL (un par ligne) pour repérer les divergences entre l'analyseur URL WHATWG du navigateur et les analyseurs plus anciens de style RFC 3986 utilisés dans certains langages serveur. Découvrez la destination interprétée par chacun et pourquoi cela peut poser un problème de sécurité, pas seulement de formatage.
Traitement effectué localement dans votre navigateur. Votre fichier n’est jamais téléversé.
Comment utiliser cet outil outil
- Collez un URL ou un bloc contenant un URL par ligne ; rien ne quitte votre navigateur.
- Sélectionnez « Vérifier les URL ».
- Examinez chaque valeur signalée : comportement d'analyse divergent, analyseurs concernés et importance de la différence.
- Utilisez la réécriture proposée lorsqu'elle existe. La confusion userinfo et les hôtes non ASCII restent délibérément sans correction, car deviner l'hôte visé serait pire que signaler l'ambiguïté.
Hypothèses
- Chaque ligne non vide est traitée comme un URL complet ; les URL ne sont pas extraits de texte plus long. Plusieurs contrôles exigent la chaîne complète.
- Une ligne sans schéma ("https:") ni préfixe relatif au protocole `//` est considérée comme texte brut et ignorée.
- Le côté WHATWG utilise le constructeur `URL` réel du navigateur, et non une simulation. « Non affecté » signifie que cette entrée précise a été testée dans ce navigateur.
- Le côté strict/ancien RFC 3986 décrit des comportements documentés d'analyseurs anciens ou stricts ; il ne s'agit pas d'un second analyseur actif. Aucun code non fiable d'un autre langage n'est exécuté.
Sources et données de référence
Méthodologie
Chaque URL est vérifié selon sept divergences documentées entre l'analyse WHATWG permissive et le style RFC 3986 plus strict : normalisation des barres inverses, confusion userinfo/hôte, barres initiales supplémentaires, hôtes non ASCII/IDN, URL relatifs au protocole sans schéma, espaces/caractères de contrôle intégrés et espaces non encodés. Une réécriture n'est proposée que lorsqu'elle est sans ambiguïté : normaliser les barres inverses, retirer les espaces superflus, réduire les barres supplémentaires et encoder un espace littéral en pourcentage. La confusion userinfo et les hôtes non ASCII ne sont jamais réécrits automatiquement, car l'hôte réellement visé est inconnu.
Exemple détaillé
Confusion userinfo avec `@`
Données d’entrée: https://trusted.com@evil.com/
Résultat: Le navigateur lit ce qui précède `@` comme des informations utilisateur et ce qui suit comme l'hôte réel : l'URL pointe sur evil.com, pas trusted.com. Signalée comme erreur ; c'est une méthode classique pour contourner un code qui vérifie la destination par correspondance de texte plutôt qu'avec un véritable analyseur d'URL.
Barres inverses au lieu de barres obliques
Données d’entrée: https:\\example.com\path
Résultat: Les navigateurs normalisent les barres inverses en barres obliques pour les schémas spéciaux comme https ; l'URL est donc analysé comme `https://example.com/path` dans un navigateur. De nombreux analyseurs hors navigateur ne font pas cette normalisation et peuvent interpréter un autre hôte ou échouer. Signalé comme erreur et réécrit sans risque.
Barres initiales supplémentaires
Données d’entrée: https:///example.com
Résultat: Trois barres après les deux-points sont traitées différemment selon les analyseurs. Signalé comme avertissement et réécrit vers l'URL canonique `https://example.com`.
Hôte semblant fiable dans userinfo
Données d’entrée: https://trusted.com@evil.com/
Résultat: Dans cet URL, `trusted.com` est une information utilisateur avant `@` ; l'hôte est `evil.com`. Cela peut tromper une vérification par sous-chaîne qui cherche un domaine fiable sans analyser l'URL. Le vérificateur analyse le texte et ne récupère ni n'ouvre l'adresse.
Conseils pratiques
- Ne vérifiez jamais la confiance ou l'origine d'un URL par correspondance de texte (`url.startsWith(...)`, `url.includes(...)`) ; analysez-le avec une vraie bibliothèque URL puis vérifiez l'hôte obtenu.
- Normalisez les barres inverses avant qu'un URL n'atteigne un analyseur qui ne le fait pas lui-même ; considérez-les comme un signal d'alerte, pas comme un choix de formatage.
- Préférez un schéma explicite à un URL relatif au protocole si plusieurs systèmes l'analyseront : tous n'acceptent pas une valeur relative sans base fournie.
Erreurs fréquentes
- Supposer qu'un URL pointe vers un domaine fiable parce qu'il « en a l'air » : la confusion userinfo est précisément conçue pour tromper une vérification visuelle ou par sous-chaîne.
- Prendre l'absence d'erreur d'analyse comme preuve d'une interprétation correcte : plusieurs divergences (userinfo, barres inverses, hôtes non ASCII) donnent une analyse réussie, mais un hôte ou un chemin différent.
Questions fréquentes
Pourquoi la confusion userinfo est-elle une erreur, alors qu'un hôte non ASCII n'est qu'un avertissement ?
La confusion userinfo est une méthode de contournement de sécurité documentée et activement exploitée, sans usage légitime courant sous cette forme. Un hôte non ASCII peut être parfaitement légitime (nom de domaine internationalisé) ; le problème est le désaccord entre analyseurs, pas le caractère suspect de l'URL lui-même.
Pourquoi l'outil ne récupère-t-il pas l'URL pour vérifier son véritable hôte ?
L'outil ne navigue jamais vers un URL collé, ne le récupère pas et ne le transforme pas en lien cliquable. Il analyse statiquement le texte dans votre navigateur afin qu'un outil expliquant les attaques par confusion d'URL ne devienne pas lui-même un vecteur d'attaque.
Un résultat sans anomalie signifie-t-il que l'URL est sûr ?
Non. Cela signifie qu'aucune des sept divergences d'analyse documentées vérifiées n'a été détectée ; cela ne garantit ni la sécurité d'une requête ni l'absence d'un autre type de contenu malveillant.
Dernière vérification : 2026-09-25
Vérificateur de texte statique, pas second analyseur actif : le côté strict RFC 3986 décrit des comportements documentés sans exécuter une bibliothèque URL d'un autre langage. Ne résout pas les URL relatifs, ne suit pas les redirections et n'évalue pas le caractère malveillant au-delà des sept divergences citées.
Les préférences de thème et d’outils, ainsi que les listes enregistrées et récemment utilisées, sont stockées uniquement dans ce navigateur.