Après avoir bien parcouru le logiciel, voici mes recommendations en terme de sécurité:
1. Ajouter un .htaccess pour empecher l'accès aux fichiers les plus sensibles: config.inc.php & config.dist.php
<Files .htaccess> Order Allow,Deny Deny from all </Files> <Files config.inc.php> Order Deny,Allow Deny from all </Files> <Files config.dist.php> Order Deny,Allow Deny from all </Files>
2. Appliquer un cryptage des mots de passe sauvegardés en base. (Bien sur, on perd alors le fait de pouvoir récupérer un mot de passe perdu) Vous pouvez vous inspirer de ce script: Encrypter un mot de passe avec salage en PHP
3. Vous remarquerez la présence à la racine de Centre du fichier diagnostic.php. Comme son nom l'indique, il fait un diagnostic de problèmes courants liés à l'installation. Et affiche aussi le phpinfo(). Il conviendra de supprimer ce fichier sur un serveur de production.
4. Adopter une politique de mot de passe et ne pas laisser les login/mot de passe par défaut (admin, teacher, student, parent).
5. Enfin, effectuer des sauvegardes de la base de données régulières: voir Sauvegarde de base PostgreSQL en PHP