2010-08-31 20 views
2

Je cherche à construire un site conçu pour permettre aux utilisateurs de tester le code PHP et je me demandais s'il y avait un moyen sûr d'implémenter une telle fonctionnalité.Sécurité d'autoriser des tiers à télécharger PHP sur un site

Il est particulièrement important de leur permettre de modifier le contenu d'un seul dossier sans avoir un utilisateur distinct sur le serveur pour chaque utilisateur du site. Une autre chose qui me vient à l'esprit est la fonction system(), bien qu'il semble que ce soit trivialement facile à désactiver en créant un seul utilisateur sur le serveur avec pratiquement aucune commande disponible.

Y a-t-il autre chose dont je devrais me préoccuper? Il semble qu'il devrait y avoir une myriade de problèmes, mais je ne peux pas vraiment en penser beaucoup.

Aussi, je me rends compte que cela peut appartenir à serverfault, mais je pensais que les gens ici auraient une compréhension plus nuancée de PHP.

Répondre

2

Je créerais probablement une instance chroot-ed d'Apache, et aussi un utilisateur très limité comme il va fonctionner et à qui les fichiers téléchargés appartiendront. PHP ne vient pas vraiment dans l'équation ici (sauf safe_mode), bien que vous pourriez mettre en place une liste noire de disabled functions.

Beaucoup plus important est à mon humble avis de limiter l'utilisateur sur le niveau de l'OS, que de créer des barrières en PHP.

Fixez cependant certaines limites de ressources - au moins pour la mémoire, le temps CPU et l'heure du mur.