SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 270 visiteurs en ce moment

Accueil > Améliorations de l’espace privé > Modifications de l’espace privé > Testeur : un shell PHP pour tester vos scripts

Testeur : un shell PHP pour tester vos scripts

9 mai 2010 – par PieroWbmstr

13 votes

Ce plugin ajoute une page dans l’espace privé permettant de saisir des scripts PHP dans un formulaire, puis de les exécuter en environnement et d’en observer le résultat.

C’EST TRÈS DANGEREUX !! car vous pourrez tout faire avec ce shell php (y compris détruire la base de donnée), mais c’est tellement plus simple que de devoir passer par FTP pour faire la même chose ....

Motivations / Présentation

Tout développeur sur SPIP se voit écrire et ré-écrire des lignes de code PHP, les tester, observer le résultat, puis les ré-écrire à nouveau jusqu’à trouver le code correct ...

Le plugin Testeur est une simple page ’exec’ présentant une console PHP permettant de saisir des lignes de code puis de les exécuter directement sur la même page, avec retour des informations d’erreurs le cas échéant [1]. Cela permet de retrouver par exemple un appel de fonction du noyau, une variable déclarée, de tester l’efficacité d’une nouvelle fonction etc.

Aperçu de la page ’exec=testeur’
Capture d’écran de la page du plugin Testeur de l’espace privé de SPIP.

Sécurité

La page de Testeur n’est accessible qu’au(x) webmestre(s) du site.

Malgré cette sécurité, il s’agit bien évidemment d’une faille potentielle dans la sécurité globale de SPIP et du serveur d’hébergement ! [2] Il faut donc coder avec précaution et éviter au possible les actions PHP qui pourraient toucher au noyau, aux fichiers, à la base de données ou à PHP lui-même.

Plus généralement, il est fortement conseillé de NE PAS ACTIVER LE PLUGIN SUR UN SITE EN PRODUCTION. Il servira uniquement pendant la phase de développement. [3]

Fonctionnalités / Fonctionnement

Un ensemble de raccourcis de fonctions standards de PHP ou de SPIP sont programmées pour faciliter les codes tapés dans la zone de saisie. Ces raccourcis sont rappelés et expliqués dans une zone dépliable en haut de page.
Par exemple, en tapant _export( $a ), le système exécutera en fait la fonction PHP var_export( $a ).

Chaque fois que la zone de saisie est validée, le script tapé s’exécute et est enregistré en session. Un système simple d’utilisation des flèches du clavier vous permet de retrouver les entrées de session, de vider la zone de saisie, d’y retourner etc.

Installation

  1. Téléchargez le fichier .zip de cette page vers le dossier de plugins de votre SPIP
  2. Installez le plugin depuis votre espace privé comme expliqué ici : http://www.spip.net/fr_article3396.html
  3. Accédez à la page du plugin via l’onglet de la page ’Configuration’ de l’espace privé (réservé aux webmestres du site).

À noter que le plugin est hébergé sur un serveur distant. Sa dernière version stable est toujours disponible à la même URL (cela peut permettre une mise à jour automatique) : http://projets.ateliers-pierrot.fr/....

Aide / Doc

La page de Testeur, accessible via l’url ’ecrire/ ?exec=testeur’, apporte sa propre documentation dans une zone dépliable en haut de page (au dessus de la zone de saisie). Y sont rappelées certaines règles de fonctionnement, le nombre de saisies enregistrées en session, les raccourcis de fonctions programmés ...

Documentation rapide du plugin incluse dans la page de l’espace privée

Lame Couteau Suisse

Une version du plugin a été mise en place pour s’intégrer en tant que lame du Couteau Suisse. Pour l’utiliser, téléchargez l’archive ci-dessous et suivez les instructions du fichier « READ_ME.txt ». Une fois installée, une lame « PHP Shell » apparaît dans la catégorie ’Divers’ du Couteau Suisse [4].

Notes

9/06/2010 - Mise à jour du plugin pour passage à la version 2.1 de SPIP (la compatibilité avec la version 2.0 et les suivantes est assurée).

Notes

[1Pour être plus clair : le plugin ajoute une console PHP en ligne à SPIP.

[2Les précautions à considérer sont les mêmes que dans vos scripts ’classiques’ : actions sur les fichiers et répertoires, sur les configurations de PHP, les fichiers distants et la base de données. Une règle générale doit être de ne pas considérer que le plugin ’vérifiera’ la dangerosité des scripts à votre place. Ce qui est finalement le cas pour tout travail de développement.

[3Il peut notamment être un outil très intéressant et pratique lorsque vous développez en local.

[4Si vous utilisez le plugin sous forme de lame, essayez tant que possible de ne pas cumuler la version individuelle du plugin Testeur afin de ne pas risquer de surcharge (les scripts ne devraient pas créer de conflit, mais mieux vaut ne pas tenter le diable !).

Dernière modification de cette page le 30 mars 2011

Retour en haut de la page

Répondre à cet article

Qui êtes-vous ?
  • [Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • GIS 4

    11 août 2012 – 1338 commentaires

    Présentation et nouveautés La version 4 de GIS abandonne la libraire Mapstraction au profit de Leaflet. Cette librairie permet de s’affranchir des librairies propriétaires tout en gardant les mêmes fonctionnalités, elle propose même de nouvelles (...)

  • Plugin Multidomaines 2.x

    10 juillet 2012 – 73 commentaires

    Le plug-in Multidomaines permet d’associer un nom de domaine ou un sous-domaine a un secteur Spip. Les balises rajoutées permettent de pointer un lien absolu aussi facilement qu’avec les balises originales. ATTENTION ! Le plugin n’est pas (...)

  • Japibas, squelette responsive

    11 octobre 2013 – 89 commentaires

    Japibas est un squelette responsive, multilingue (français, anglais et espagnol), dont l’habillage conviendrait à un site de type blog ou webzine. Le graphisme est inspiré du template Wordpress Japibas réalisé par Jesper Johansen et distribué sous (...)

  • ViaSPIP 3.1

    26 février 2016 – commentaires

    Après la sortie de SPIP 3.1, voici la nouvelle version du squelette ViaSPIP qui reste dans la lignée des précédentes versions. ViaSPIP 3.1 est toujours un squelette généraliste pour SPIP, sous forme de plugin, visant à offrir une alternative au (...)

  • Formidable, le générateur de formulaires

    23 janvier 2012 – 2136 commentaires

    Un générateur de formulaires facilement configurable pour les non-informaticiens et facilement extensible pour les développeurs. Introduction L’objectif était de créer un plugin permettant de générer des formulaires. Historiquement, 2 plugins (...)