SPIP-Contrib

SPIP-Contrib

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

288 Plugins, 197 contribs sur SPIP-Zone, 175 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 ?
  • [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

  • Le Squelette Zpip

    11 novembre 2009 – 363 commentaires

    Ce squelette n’est plus maintenu, il est remplacé par SPIPr-dist Zpip est un modèle de squelette réutilisable, modulaire et disposant d’une galerie de thèmes. Ce modèle de squelette rend l’installation d’un site avec son thème plus facile, et la (...)

  • Calendrier Mini 2.0

    19 mai 2012 – 243 commentaires

    Ce plugin ajoute la balise #CALENDRIER_MINI qui insère un petit widget de navigation par mois dans les dates des évènements. Fonctionnement du mini calendrier Le mini calendrier présente un mois à la fois. Les jours du mois comportant des (...)

  • Galleria (fr)

    16 novembre 2011 – 183 commentaires

    Une galerie d’image qui utilise la librairie javascript Galleria. Description Ce plugin vous permet d’ajouter des galeries d’images à vos articles. La galerie créée utilise la librairie javascript Galleria. Le plugin propose un modèle nommé (...)

  • PortePlume Equation

    10 juin 2012 – commentaires

    Version pour spip 2.1 et 3.0 du plugin Spip Equation Ce plugin rend plus simple l’intégration dans un texte de formules mathématiques et d’équations. Dans ce but il ajoute un groupe de boutons dans la barre typographique qui permet d’intégrer les (...)

  • Agenda 2.0

    3 novembre 2008 – 1101 commentaires

    Voici la version pour SPIP 2.0 du Plugin Agenda pour SPIP 1.9.2, avec une interface remaniée pour encore plus de plaisir. Pour une documentation concernant l’utilisation d’Agenda 3 pour SPIP 3, veuillez pour l’instant vous référer à SPIP 3, Agenda (...)