Contrôler les fichiers joints et leurs limites
Objectif de la leçon
Comprendre les différentes autorisations d’un fichier joint, vérifier les paramètres existants et réaliser un transfert inoffensif uniquement lorsque toutes les conditions sont réunies.
Explications
Comprendre les différentes autorisations
Une extension de fichier est sa terminaison, comme .txt pour un texte ou .zip pour une archive. Ce n’est pas un module phpBB. Renommer un programme en .txt ne le transforme pas en texte. Nous créerons un vrai document inoffensif, puis éventuellement son archive ZIP : aucun programme ni renseignement personnel.
Les fichiers joints doivent être globalement autorisés. Le membre doit posséder la permission utilisateur de joindre des fichiers et celle du forum choisi. Le format doit appartenir à un groupe d’extensions autorisé dans ce forum. Ces conditions se cumulent.
Un groupe d’extensions rassemble des types de fichiers soumis à des règles communes. Ce n’est pas un groupe de membres tel qu’Adhérents. Un type présent dans la liste peut appartenir à un groupe désactivé. Dans une installation standard, txt appartient au groupe « Texte », généralement désactivé ; zip appartient au groupe « Archives », normalement autorisé. Les valeurs réellement conservées sur votre clone priment.
La taille maximale porte sur chaque fichier ; leur nombre maximal, sur un message ; le quota total, sur l’espace des pièces jointes de tout le forum. Les limites de PHP peuvent aussi refuser un transfert. Augmenter une valeur dans phpBB ne modifie pas celles du serveur.
Lire les réglages avant de transférer
Avec CamilleAdmin, sur le clone fermé, ouvrez le Panneau d’administration, « Messages », puis « Fichiers joints » et « Paramètres des fichiers joints ». Relevez « Autoriser les fichiers joints », « Taille maximale du fichier », « Nombre maximum de fichiers joints par message » et « Quota total de fichiers joints », avec les unités. Ne changez rien.
Dans le champ de taille maximale, zéro laisse notamment les limites de PHP s’appliquer ; cela ne prouve pas une capacité infinie. Zéro au quota total désactive ce quota applicatif. Lisez l’explication du champ concerné.
Ouvrez « Gérer les extensions des fichiers joints ». Recherchez txt puis zip, et relevez leurs groupes assignés. Dans « Gérer les groupes d’extensions des fichiers joints », ouvrez chaque groupe uniquement pour lire « Autorisé », « Forums autorisés » et « Taille maximale du fichier ». Une taille spécifique non nulle du groupe peut remplacer la limite générale. Quittez sans envoyer de modification.
Relisez les permissions effectives d’accueil_test pour les fichiers joints selon le cours 2. Un bouton absent ne dit pas quelle condition manque. N’activez aucun groupe ou droit uniquement pour le faire apparaître.
Préparer le fichier et prévoir le résultat
1. Dans le Bloc-notes, créez un document contenant seulement « Atelier sécurité : pots, terreau, étiquettes. ». Enregistrez-le dans Documents sous atelier-securite.txt. Vérifiez son nom et sa taille dans ses propriétés : quelques centaines d’octets, sous les limites relevées.
2. Si txt est autorisé avec son groupe dans votre forum, et qu’accueil_test possède les droits nécessaires, choisissez ce TXT pour le transfert. Sinon, notez « TXT refusé attendu par la configuration » : c’est une prédiction, pas un refus serveur déjà observé.
3. Dans ce deuxième cas, si zip et son groupe sont déjà autorisés dans le forum, vous pouvez préparer un ZIP contenant uniquement votre texte. Si aucun de ces formats n’est autorisé, ou si les permissions manquent, passez à l’étude de cas. Notez le transfert non réalisé et sa cause. Aucun élargissement des autorisations n’est demandé.
Un ZIP est un conteneur qui rassemble des fichiers et peut réduire leur taille par compression. Il ne rend pas son contenu sûr. Nous l’utilisons seulement pour vérifier le format Archives déjà accepté, avec notre propre texte connu. Ce choix ne constitue pas une méthode générale pour faire passer des documents interdits : la politique du forum sur leur contenu continue de s’appliquer.
Pour créer ce ZIP, sélectionnez atelier-securite.txt dans l’Explorateur et ouvrez son menu contextuel, au clavier avec Maj+F10 si nécessaire. Selon Windows, choisissez « Compresser dans un fichier ZIP », ou « Afficher d’autres options », « Envoyer vers » puis « Dossier compressé ». Les libellés peuvent varier. Si vous ne trouvez pas cette fonction, arrêtez cette branche et notez-la non réalisée. N’installez aucun outil pour poursuivre l’exercice.
Nommez l’archive atelier-securite.zip. Ouvrez-la dans l’Explorateur et vérifiez qu’elle contient uniquement atelier-securite.txt, puis refermez cette vue. Vérifiez sa taille : elle doit rester très petite et sous les limites applicables. Un ZIP de quelques lignes peut être plus gros que le texte seul : la compression n’offre pas toujours un gain.
Transférer dans les conditions déjà autorisées
Avec CamilleAdmin, ouvrez temporairement le clone en enregistrant « Désactiver le forum » sur Non. Les courriels restent désactivés. Connectez accueil_test séparément et relisez son identité.
Dans Questions publiques, ou le forum d’atelier déjà autorisé, répondez au sujet de la leçon 10. S’il manque, créez « Atelier sécurité — fichiers joints » uniquement si vous y avez déjà droit. Saisissez « Voici une liste de matériel sans donnée personnelle. ». Respectez l’intervalle initial restauré.
Retrouvez « Fichiers joints ». Selon le mécanisme affiché, utilisez « Ajouter des fichiers », ou le sélecteur puis « Ajouter le fichier ». Choisissez le TXT ou le ZIP retenu. Le glisser-déposer n’est pas nécessaire. Lisez son nom et l’état du transfert.
Un transfert terminé n’est pas encore la publication du message. Activez « Envoyer » une fois, puis rouvrez la réponse et vérifiez l’accès à la pièce jointe avec ce compte. Le résultat attendu est l’acceptation du format choisi sous les conditions relevées. Cela ne valide ni l’accès des invités ni la sûreté de toutes les archives.
Si une erreur apparaît, relevez son sens et arrêtez : taille, format et permission n’appellent pas la même explication. Pour abandonner un fichier déjà transféré, utilisez « Supprimer le fichier » dans la rédaction lorsque disponible ; sinon il peut rester orphelin, sans message associé.
Déconnectez accueil_test. Avec CamilleAdmin, refermez le clone. Dans le contexte redevenu visiteur, demandez une nouvelle page et vérifiez la fermeture. Conservez le message et le petit fichier identifiés comme preuve. Réglages et permissions demeurent identiques à leur état initial.
Exemple commenté
Une membre veut joindre une liste de vingt lignes. Le refus indique un type non autorisé. Agrandir la taille maximale ne corrigerait pas ce refus : la première question porte sur le format accepté et son groupe. Pour son besoin immédiat, elle peut publier la courte liste dans le corps du message, si elle a le droit d’écrire et si le texte ne contient rien de privé.
Exercice à réaliser
Étude de cas, sans modifier le clone : un forum autorise txt pour ce membre, limite chaque fichier à 100 Kio et accepte deux pièces jointes par message. Aucun quota global ni limite serveur ne bloque l’essai. Un premier texte fait 20 Kio, le second 130 Kio. Prédisez le résultat pour chaque fichier et expliquez pourquoi deux emplacements disponibles ne suffisent pas. Comparez ensuite cette situation fictive aux valeurs réellement relevées.
Correction et résultat attendu
Le premier fichier respecte la limite individuelle de 100 Kio ; le second la dépasse. Le nombre de pièces jointes et leur taille sont indépendants. Deux emplacements disponibles n’autorisent pas un fichier trop volumineux. Sur votre clone, utilisez les valeurs observées et la limite du groupe concerné. Un ZIP accepté ne prouve pas que txt est directement autorisé : ce sont deux formats différents. Si aucune branche de transfert n’était possible, l’étude reste valide et le transfert réel non vérifié.
À retenir
Autorisation générale, droits du membre et du forum, groupe du type, taille et nombre doivent être cohérents. N’assimilez pas fichier accepté et fichier garanti sûr. Testez seulement votre petit texte ou son ZIP dans un format déjà autorisé. Une archive n’est pas un contrôle antivirus. Documentez chaque restriction sans élargir les permissions.
Seuil de réussite, en pourcentage : 100 %. QCM obligatoire pour terminer le cours.