SPIP-Contrib

SPIP-Contrib

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

288 Plugins, 197 contribs sur SPIP-Zone, 239 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

12 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 ?

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

  • Refonte de l’identité graphique

    10 juillet – 32 commentaires

    Lors de la SPIP Party 2017 à Toulouse, un nouveau contributeur est venu nous présenter son travail sur une refonte du logo. Au delà de la refonte du logo, c’est une toute nouvelle identité graphique pour SPIP que Jordan nous propose. Voici une (...)

  • Agenda Fullcalendar facile

    29 octobre 2016 – 34 commentaires

    Dans un précédent article, nous expliquions comment afficher un agenda Fullcalendar sur son site avec le plugin agenda. Cependant, ceci nécessite des manipulation de squelettes, ce qui n’est pas toujours évident lorsqu’on débute. La présente (...)

  • La Fabrique

    20 avril 2012 – 315 commentaires

    La Fabrique est un outil pour webmestres ou développeurs qui souhaitent créer des plugins. La Fabrique est capable de générer le code source minimal d’un plugin pour SPIP 3 (elle accélère donc le démarrage d’un plugin) et peut s’occuper également de (...)

  • Formulaire upload

    25 septembre 2012 – 34 commentaires

    Ce plugin permet d’uploader des documents depuis l’espace public Objectifs Ce plugin permet d’ajouter un formulaire dans l’espace public pour uploader et gérer des fichiers. A priori, il peut se greffer sur tous types objets SPIP : articles, (...)

  • Publier archivelist.txt via svn/terminal

    10 août 2009 – 11 commentaires

    Objectif : mettre à jour l’index archivelist.txt Environnement : commandes svn via terminal Si vous désirez voir publié dans la zone la version paquet de votre contribution, il faut ajouter la ligne nécessaire dans le fichier archivelist.txt. (...)

Ça spipe par là