Webftp - gérer un site en ligne - explorateur de fichiers

Description

Je suis parti d'une source d'Aze555666, merci à lui.
Je l'ai modifiée, sécurisée et améliorée pour en faire une fonction qu'on peut appeler depuis n'importe quelle page.

Comme avec un webftp classique, on peut donc explorer le site et gérer tous les fichiers en ligne : créer, supprimer, renommer les dossiers et les fichiers, uploader, downloader... afficher les fichiers par ordre alphabétiquement, par type de fichiers... Vous pouvez aussi modifiez vos scripts directement en ligne.

Outre que je pense avoir supprimé la plupart des bugs, géré les erreurs et pris en charge les noms à problèmes (sans point, à plusieurs point, caractères accentués, le .. à la racine du site, etc.), la grosse spécificité de cette version du code est de pouvoir limiter l'accès de l'internaute à certains dossiers et fichiers.

Je m'explique : je donne l'accès à cette page à des personnes qui pourront modifier certains éléments de mon site et pas d'autres. Certains éléments pourront donc être totalement invisibles et totalement protégés (fichiers et répertoires : 2 options : en lecture seule ou totalement invisibles). Tout le contenu d'un repertoire protégé est protégé de la même manière (sous-dossiers inclus). Possibilité aussi de banir un type de fichier du : invisibles sur le site et impossible à uploader (par extension plutôt que par type, en attendant mieux).

Vous pouvez définir des noms de fichiers qui seront interdits partout sur le site (par exemple tous les fichiers dénommés fichier.exe) ou juste un fichier particulier ('./fichier.txt')

J'ai intégré diverses options de sécurité, au final l'utilisateur ne devrait jamais pouvoir accéder plus haut dans le site que le répertoire d'où est appelée la fonction.
Une version épurée de ce webftp est présente dans le zip, pour ceux qui veulent juste l'utiliser pour eux-mêmes.

Voilà, n'oubliez pas de sécuriser l'accès au fichier ftphp.php (je propose un bout de code pour ca en commentaire).
Si vous trouvez des failles de sécurité, je serais ravi de les connaître.

Source / Exemple :


//exemple d'utilisation :

<?php include('ftphp.php'); ?>

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.