Repository navigation
v3.22 — plus aucun code dans le HTML, CSP sans unsafe-inline
Plus aucun code dans le HTML : la CSP protège vraiment
- Les 1 011 gestionnaires écrits dans le HTML (
onclick,onchange,
oninput,onkeydown,onmouseover/onmouseout,ontoggle), dans les pages
comme dans le HTML que le JavaScript fabrique, sont remplacés par des attributs
de données :data-click="showPage('gym')",data-change,data-input,
data-keydown,data-toggle, plusdata-entree(touche Entrée),
data-fond(clic sur le fond d'une fenêtre) etdata-survol(style le temps du
survol). Le navigateur ne les exécute jamais : un seul écouteur
(src/main/00a-actions.js) les lit, n'appelle que les 460 fonctions de la
liste des actions du site (tools/actions.js), et n'accepte comme arguments
que des valeurs simples. Le clic remonte les éléments comme avant. - CSP :
script-srcn'a plus'unsafe-inline'. Les six blocs de script du
fichier y sont nommés par leur empreinte SHA-256, recalculée à chaque
assemblage. Un script glissé dans la page par un pseudo, un fichier ou un
message ne s'exécuterait pas, même si un échappement était oublié. Les fils
de calcul (IA, Labo, réseau de calcul) restent autorisés. - Rien ne change pour le joueur. Vérifié dans Chromium avec la nouvelle CSP : les
36 pages sans gestionnaire en ligne ni violation de la CSP, et un parcours
(menu, Gym Cerveau, partie contre l'IA qui joue, Analyse, réglages, survol,
fenêtres, Labo et son fil de calcul). - Tests : plus aucun gestionnaire en ligne dans les sources, empreintes exactes,
liste des actions à jour, interpréteur qui refuse tout ce qui n'est pas une
valeur simple.CONTRIBUTINGetSECURITYexpliquent la règle.
🇫🇷 Journal complet · 🇬🇧 English changelog · 🎮 Jouer
🔐 Empreintes SHA-256 des fichiers joints : SHA256SUMS (vérifier avec sha256sum -c SHA256SUMS).