Boîte à outils de données pour les développeurs – questions
Comment la boîte à outils gère vos données, quels utilitaires sont exacts et où chacun s'arrête délibérément.
La version courte
Chaque utilitaire ici s'exécute dans l'onglet de votre navigateur. Rien de ce que vous collez n'est téléchargé ou stocké par un serveur d'applications ToolAcre. Les analyses à l'échelle du site s'exécutent uniquement sur l'hôte de production canonique configuré et sont divulguées dans la politique de confidentialité ; les valeurs collées sont exclues des propres événements d'analyse de ToolAcre.
Les questions ci-dessous sont celles qui déterminent si vous pouvez faire confiance à un résultat particulier. Là où une utilité est exacte, elle le dit ; là où il se rapproche ou se refuse, il le dit aussi.
Qu'arrive-t-il à ce que vous collez
- Chaque conversion, hachage, décodage et différence s'exécute dans l'onglet de votre navigateur. Aucune entrée n'est téléchargée, enregistrée ou stockée sur un serveur, car aucun serveur n'est impliqué une fois la page chargée.
- Les hachages proviennent de la propre implémentation Web Crypto du navigateur et les UUID de son générateur aléatoire cryptographiquement sécurisé. Ni l’un ni l’autre n’implique un appel réseau.
- Rien de ce que vous tapez n’est écrit dans le stockage local ou dans un cookie. Le rechargement de la page la supprime ; la fermeture de l'onglet le supprime.
- Les analyses à l'échelle du site s'exécutent uniquement sur l'hôte de production canonique configuré et sont divulguées dans la politique de confidentialité ; les hôtes locaux et de prévisualisation le refusent. Les valeurs collées, les jetons, les URL et le contenu des fichiers sont exclus des propres événements d'analyse de ToolAcre. La publicité est désactivée dans la configuration actuelle.
- Cela dit : un JWT ou une clé API est un identifiant en direct. La bonne habitude est de ne jamais en coller un dans une page Web que vous n’avez pas écrite, aussi dignes de confiance que ses affirmations – y compris celle-ci.
Questions
Est-ce que quelque chose que je colle est téléchargé ?
Aucun téléchargement ToolAcre ne le reçoit. Chaque conversion, hachage, décodage et différence se produit dans votre navigateur. Les analyses à l'échelle du site sont limitées à l'hôte de production canonique configuré et divulguées dans la politique de confidentialité ; Les valeurs collées, les jetons, les URL et le contenu des fichiers sont exclus des propres événements d'analyse de ToolAcre.
Est-ce que quelque chose est stocké entre les visites ?
Non. La boîte à outils n'écrit rien dans localStorage, sessionStorage, IndexedDB ou dans les cookies. Le rechargement de la page efface tout ce que vous avez saisi ; fermer l'onglet fait la même chose. Il n’y a pas de système de compte, donc il n’y a rien à inscrire ni rien à supprimer.
Est-ce que base64 gère ici les emoji et le texte non anglais ?
Oui, exactement. Le texte est converti en UTF-8 bytes avant l'encodage et décodé avec un décodeur strict, donc emoji, CJK, arabe, combinant des marques et des séquences ZWJ, tous aller-retour octet par octet. C’est précisément ce qui cloche dans le btoa() intégré au navigateur : il lance certains caractères et produit silencieusement des octets incorrects pour d’autres.
Comment le validateur JSON trouve-t-il la position de l'erreur ?
Avec son propre scanner plutôt qu’en lisant le message d’erreur du moteur. Le texte d'erreur JSON du navigateur est spécifique au moteur et le V8 actuel omet entièrement la position pour certaines pannes. Le scanner parcourt le document et signale le premier décalage qui n'est pas un JSON valide, avec une raison écrite pour un humain : une virgule finale, une chaîne entre guillemets simples, une chaîne non terminée, ainsi que la ligne incriminée et un signe d'insertion.
Quelles fonctionnalités YAML sont prises en charge ?
Structure standard YAML 1.2, lue avec un schéma restreint qui ne peut produire que des données de forme JSON : chaînes, nombres, booléens, nuls, séquences et mappages. Les balises qui construisent des objets arbitraires sont refusées. Vous pouvez choisir entre le schéma JSON (le plus strict) et le schéma Core (qui résout également ~ et les valeurs vides en null, en entiers hexadécimaux et .inf/.nan).
Pourquoi mon fichier YAML échoue-t-il avec une « balise inconnue » ?
Parce qu'il utilise une balise personnalisée ou spécifique au langage telle que !!js/function, !!python/object/apply, !!binary ou !!timestamp. Un chargeur configuré pour les construire est un constructeur d'objets arbitraires, qui dans plusieurs langages est une classe de bogue d'exécution de code à distance. Cet outil les refuse par conception plutôt que de faire une exception.
Les hachages sont-ils corrects ?
Ils sont calculés par la propre implémentation Web Crypto du navigateur, et la suite de tests les vérifie par rapport aux vecteurs publiés — SHA-256 de "abc" est ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad, et le Les vecteurs SHA-1, SHA-384 et SHA-512 sont vérifiés à côté, ainsi que les résumés de chaînes vides.
Pourquoi SHA-1 est-il marqué comme cassé ?
Parce que c'est le cas. Une collision pratique a été publiée dans 2017 (SHAttered), et les collisions avec préfixe choisi – la variante qui brise les signatures et les certificats – sont devenues abordables dans 2020. Il est inclus afin que vous puissiez reproduire les valeurs SHA-1 existantes telles que les identifiants d'objet git et les signatures d'API héritées, ce qui est différent de s'appuyer sur lui.
D'où viennent les UUID ?
À partir de crypto.randomUUID() ou crypto.getRandomValues() où randomUUID n'est pas disponible. Les deux sont le générateur cryptographiquement sécurisé du navigateur. Math.random() n'est jamais utilisé : son état interne peut être récupéré à partir d'une courte série de sorties, ce qui rend prévisible tout ce qui est construit à partir de celui-ci. Si aucune source sécurisée n’existe, l’outil refuse de générer plutôt que de rétrograder discrètement.
Le décodeur JWT vérifie-t-il les signatures ?
Non. Il décode l’en-tête et la charge utile et vous montre ce qu’ils prétendent. Il ne vérifie pas la signature, donc rien de ce qu'il montre ne prouve qu'un jeton est authentique, inchangé ou émis par la personne qu'il nomme. La vérification nécessite la clé de l'émetteur et un algorithme épinglé, qui appartiennent au système qui fait confiance au jeton, et non à une page Web.
Puis-je coller un vrai jeton d’accès ?
Vous pouvez et vous ne devriez pas – ici ou ailleurs. Un jeton actif est un identifiant : celui qui le détient peut agir en votre nom jusqu'à son expiration. Cette page décode localement et n'envoie rien, mais c'est une affirmation que vous ne pouvez vérifier en un coup d'œil sur aucun site, donc l'habitude de sécurité est expirée ou testez les jetons. Si vous en avez déjà collé un quelque part, faites-le pivoter.
Comment fonctionne la différence de texte ?
Il calcule un script d'édition de sous-séquence commune la plus longue, qui donne un ensemble minimal d'ajouts et de suppressions plutôt qu'une comparaison naïve ligne par ligne. Les lignes de début et de fin identiques sont d'abord coupées, ce qui permet de comparer rapidement deux fichiers volumineux qui diffèrent au même endroit.
Pourquoi le diff refuse-t-il des entrées très importantes ?
L'algorithme LCS a besoin de temps et de mémoire proportionnels au produit des deux longueurs. Au-delà de quelques milliers de lignes différentes, cela devient une allocation qu'un onglet de navigateur ne devrait pas tenter, donc l'outil refuse proprement et suggère de comparer une région plus petite. Les fichiers qui partagent la majeure partie de leur contenu sont d'abord coupés et restent rapides quelle que soit leur taille totale.
La détection de l'unité d'horodatage est-elle fiable ?
Il s'agit d'une heuristique documentée et elle n'est jamais silencieuse. Tout ce qui est égal ou supérieur à 10^11 est traité comme des millisecondes, car 10^11 secondes correspond à l'année 5138 tandis que 10^11 millisecondes correspond à 1973. L'unité réellement utilisée est toujours affichée avec le résultat et vous pouvez la remplacer.
La boîte à outils fonctionne-t-elle hors ligne ?
Une fois la page chargée, oui, rien de ce qu’elle fait n’a besoin du réseau. Il n'y a pas de service worker, donc le chargement initial nécessite toujours une connexion.
Est-ce que ça marche sur un téléphone ?
Oui. La mise en page fonctionne à partir de 320 pixels CSS vers le haut, le texte du formulaire est 16px afin que Safari mobile ne zoome pas sur la mise au point et les contrôles répondent au minimum de cible tactile de 44 pixels. Les éditeurs et les sorties défilent dans leurs propres cases, donc une longue ligne de JSON minifié n'élargit jamais la page.
Le désinfectant de l’éditeur HTML peut-il être utilisé en toute sécurité sur des entrées non fiables ?
Non, et le panel le dit. Il s'agit d'une liste autorisée pour la propre sortie de l'éditeur : les éléments et attributs en dehors d'une liste fixe sont supprimés, les gestionnaires d'événements ne peuvent pas survivre car aucun attribut ne survit s'il n'est pas répertorié, et seuls les liens http, https, mailto, tel, ftp et relatifs sont conservés. Cela permet de coller en toute sécurité ce que cet éditeur émet dans une page que vous contrôlez. Il ne s'agit pas d'un filtre XSS à usage général : il s'agit d'un tokeniseur de chaîne, pas d'un analyseur HTML5, donc une charge utile hostile pourrait en principe être analysée différemment par un navigateur. L'aperçu est une iframe en bac à sable sans scripts d'autorisation, donc rien ne peut s'y exécuter de toute façon.
Pourquoi la calculatrice chmod affiche-t-elle parfois S et T en majuscules ?
Parce que le bit spécial est défini et que le bit d'exécution correspondant ne l'est pas. 4755 est rwsr-xr-x, un programme setuid qui peut s'exécuter ; 4644 est rwSr--r--, un fichier setuid que personne ne peut exécuter, ce qui est presque toujours une erreur. La lettre majuscule est le système qui vous indique que le bit n'a rien sur quoi agir, et une calculatrice qui afficherait un s minuscule cacherait la seule chose que vous aviez besoin de voir.
Le convertisseur Docker exécute-t-il parfois la commande que je colle ?
Non, il divise la chaîne avec un tokeniser prenant en charge les guillemets et lit les morceaux. Il n'y a aucune évaluation, aucun shell et aucun processus enfant nulle part dans la base de code. Les backticks, $(...) et les points-virgules restent des caractères littéraux. Tout indicateur qu'il ne peut pas convertir est nommé dans un avertissement visible plutôt que supprimé, car un fichier de composition qui fait silencieusement moins que la commande dont il est issu est la pire chose que cet outil puisse produire.
Pourquoi les heures de prévisualisation cron ne correspondent-elles pas à mon serveur ?
Habituellement, le fuseau horaire : cron utilise la zone de la machine sur laquelle il s'exécute, et l'aperçu utilise la zone que vous avez choisie, alors définissez-le sur la zone de votre serveur. L'autre cause probable est la règle du jour : lorsque le jour du mois et le jour de la semaine sont définis, cron s'exécute lorsque l'un ou l'autre correspond, ce qui se déclenche plus souvent que prévu. Le générateur avertit lorsque cela s'applique.
Y a-t-il des publicités ou des analyses ?
La publicité est désactivée dans la configuration actuelle. Les analyses à l'échelle du site s'exécutent uniquement sur l'hôte de production canonique configuré et sont divulguées dans la politique de confidentialité ; Les valeurs collées, les jetons, les URL et le contenu des fichiers sont exclus des propres événements d'analyse de ToolAcre.
Limites
- Tout s'exécute dans un seul onglet de navigateur, de sorte que chaque utilitaire est limité à la mémoire de votre appareil. Chacun a un plafond de contribution explicite et refuse les travaux surdimensionnés plutôt que de les geler.
- Le hachage et la génération d'UUID nécessitent un contexte sécurisé (https:// ou localhost), car c'est là que les navigateurs exposent Web Crypto.
- Le décodeur JWT ne vérifie jamais les signatures et les jetons JWE chiffrés ne peuvent pas du tout être décodés.
- YAML est lu avec des schémas de données uniquement ; les documents reposant sur des balises personnalisées sont refusés par conception.
- Le tableau des entités HTML couvre le sous-ensemble pratique plutôt que toutes les références nommées 2,231 HTML5, et les noms inconnus sont signalés plutôt que devinés.
- Le diff compare des lignes entières. Il n’y a pas de surbrillance au niveau des mots ou des caractères dans une ligne modifiée.
- Le désinfectant de l'éditeur HTML est une liste d'autorisation pour sa propre sortie, et non un filtre XSS à usage général pour les entrées non fiables, et il ne contient ni images, ni tableaux, ni style.
- Le convertisseur Docker gère une commande Docker Run à la fois et nomme chaque indicateur qu'il ne peut pas représenter au lieu de le supprimer.
- Le générateur cron lit uniquement la syntaxe crontab à cinq champs, et ses heures de prochaine exécution sont un aperçu basé sur les données de fuseau horaire du navigateur plutôt qu'une garantie concernant votre serveur.