Bonsoir, et merci pour ta réponse.
Le site est /* moderated par the lsd : en fait, il vaut mieux éviter, on sait jamais !*/.
C'est un site d'information pour une petite commune, qui n'est pas censée drainer beaucoup de trafic. Il faut vraiment en avoir envie pour tomber dessus.
Je vais essayer de répondre à tes questions du mieux possible :
- comment est gérée la session dans les pages ?
Lorsque le formulaire d'identification est soumis, je fais une requête mysql pour vérifier que le couple login / mot de passe correspond. Si oui, j'affecte une valeur à une variable $_SESSION. Cette variable me permet de déterminer si l'utilisateur qui navigue sur les pages d'admin est identifié ou pas.
- peut-être une attaque par dictionnaire sur l'authentification ?
C'est possible, mais dans ce cas, comment a-t-il modifié la table user alors qu'il n'y a aucun moyen de le faire sur le site ? Il faut forcément passer par la base de donnée.
- as-tu une page d'admin de la base style phpmyadmin ? Est-il à jour, facile à trouver ? L'authentification forte ?
Il y a l'interface de gestion du serveur mis en place par l'hébergeur. Il est à jour et pas facile à trouver. Le mot de passe permettant d'y accéder est composé de chiffres et de lettres majuscules minuscules qui ne forment pas de mot (genre Uf21sTD5x)
- stockes-tu autre chose dans ta base, qui serait un vecteur d'injection ? La langue ? Le user-agent ? etc.
Non, la seule injection dans ma base que je fais à partir du front office est une inscription à la newsletter : 3 champs textes, nom / prénom / email. Il n'y avait pas de modification dans cette base.
Toutes mes autres tables concernent le contenu du site (texte, titre, image en gros).