En raison des spécifications json, le japonais n'a pas besoin d'être un échappement unicode Si vous n'échappez pas à unicode, ce n'est pas bon pour les fuites de confidentialité, mais ce n'est pas bon car il peut être décodé s'il est décodé. Même dans ce cas, une sécurité telle que XSS est acceptable car vous pouvez échapper à la chaîne de caractères de contrôle avec la marque \ (→ Que voulez-vous dire?)
↓ C'est ce que tu veux dire. Scripts intersites
En enregistrant les données incluses dans l'étiquette de script, les données peuvent être lues comme une étiquette de script dans le navigateur et un script invalide peut être exécuté. La chaîne de contrôle doit donc être échappée.
La japonaisisation peut être réalisée par json.dumps (str, ensure_ascii = False)
.
Si> ensure_ascii est true (valeur par défaut), la sortie garantit que tous les caractères non ASCII saisis sont échappés. Si ensure_ascii est faux, ces caractères seront imprimés tels quels.
Cependant, si l'implémentation ci-dessus est utilisée, la chaîne de caractères de contrôle ne sera pas échappée, ce qui crée une vulnérabilité.
MUST be escaped Spécifications JSON Code du caractère de contrôle
the characters MUST be escaped: ※quotation mark, reverse solidus, and the control characters (U+0000 through U+001F).
No. | Chaîne |
---|---|
1. | "(citation double) |
2. | (barre oblique inverse) |
3. | Nul |
4. | Début de cap |
5. | Début de TeXt (début du texte) |
6. | Fin de TeXt |
7. | Fin de transmission |
8. | Enquête (enquête) |
9. | ACKnowledge (réponse affirmative) |
10. | Cloche |
11. | Espace arrière |
12. | Tabulation horizontale |
13. | Saut de ligne |
14. | Tabulation verticale |
15. | Saut de page (saut de page) |
16. | Retour chariot |
17. | Décaler |
18. | Shift In |
19. | Sortie de liaison de données (extension de contrôle de transmission) |
20. | Contrôle de l'appareil 1 |
21. | Contrôle de l'appareil 2 |
22. | Contrôle de l'appareil 3 |
23. | Contrôle de l'appareil 4 |
24. | Reconnaissance négative |
25. | Inactif synchrone |
26. | Fin du bloc de transmission |
27. | Fin du bloc de transmission |
28. | Annuler |
29. | Fin du support |
30. | Remplacer |
31. | ESCape (étendu) |
32. | Séparateur de fichiers |
33. | Séparateur de groupe |
34. | Séparateur d'enregistrement |
35. | Séparateur d'unité |
Recommended Posts