2.5 KiB
2.5 KiB
TODO - Correctifs "créateurs" + bugs multiples
Étape 1
- Ajouter des garde-fous stricts dans
assets/js/home.jspour empêcher qu'une erreur JS bloque l'affichage de la section "Les créateurs".
Étape 2
- Sécuriser le rendu social : fallback sans injection non contrôlée si
window.renderSocialLinksn'existe pas.- Vérification que
window.renderSocialLinksest une fonction valide (contient 'escapeHTML') - Try/catch autour de l'appel à
renderSocialLinks - Fallback vide si la fonction est compromise ou absente
- Vérification que
Étape 3
- Ajouter des logs et messages d'erreurs clairs (console) + try/catch autour de l'init team.
- Logs ajoutés pour le chargement des données (team, portfolio, partners)
- try/catch autour de
initTeamSection,openMemberModal,openPartnerModal - Fallback visuel avec messages d'erreur si chargement échoué
Étape 4
- Vérifier qu'aucune insertion de contenu non échappé n'est faite (XSS-safe) : uniquement
escapeHTMLsur les valeurs et aucune insertion depuis le JSON sans échappement.- Toutes les données JSON sont échappées avec
window.escapeHTML()avant insertion via innerHTML - Vérification des données (Array.isArray, typeof) avant traitement
- Correction appliquée à :
home.js,realisations.js
- Toutes les données JSON sont échappées avec
Étape 5
- Tester sur la page
index.html: affichage cards + ouverture modal + fallback si liens manquants.- Tests manuels à effectuer (les corrections sont en place)
Résumé des corrections appliquées
Fichiers modifiés :
-
assets/js/home.js:- Garde-fous stricts pour les sections Portfolio, Partners, Team
- Vérification des réponses HTTP (
res.ok) - Validation des types de données (Array.isArray, typeof)
- try/catch autour de toutes les fonctions critiques
- Fallback visuel avec messages d'erreur si échec
- Sécurisation de
window.renderSocialLinksavec vérification de signature
-
assets/js/pages/realisations.js:- Sécurisation de
window.renderSocialLinkspour les liens sociaux des projets - Mêmes vérifications que dans home.js
- Sécurisation de
Points vérifiés (déjà conformes) :
assets/js/main.js:escapeHTMLdéjà utilisé, fonction sécuriséeassets/js/services.js: toutes les données échappées avecescapeHTMLassets/js/services-process.js: pas de rendu HTML dynamiqueassets/js/pages/legal.js: pas de rendu HTML dynamique avec données externesassets/js/pages/404.js: pas de rendu HTML dynamique avec données externes