SPIP-Contrib

SPIP-Contrib

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

290 Plugins, 198 contribs sur SPIP-Zone, 99 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

11 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

  • Docker importe vos documents distants

    25 février 2013 – commentaires

    Un plugin qui permet de recopier localement dans le dossier IMG l’ensemble de vos documents distants. SPIP a un mode de documents qui permet d’indexer dans la base des documents en les laissant sur internet. On peut recopier individuellement (...)

  • Créer une Application Twitter pour utiliser dans SPIP

    14 juin 2013 – 19 commentaires

    Depuis le 9 juin 2013, il n’est plus possible d’accéder à l’API Twitter sans authentification. Cela passe par la création d’une Application Twitter qui disposera de ses clés secrètes pour accèder à l’API Twitter. Voici les étapes détaillées de la (...)

  • Formidable, le générateur de formulaires

    23 janvier 2012 – 2508 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 (...)

  • cibloc : mettre en forme le texte d’articles avec des blocs

    9 juillet – 23 commentaires

    Le plugin CIBLOC permet de mettre en forme le texte d’articles avec des blocs. Il offre des blocs, des colonnes, des icônes et des boutons. Les objectifs de ce plugin Le plugin CIBLOC offre des blocs, des colonnes, des icônes et des boutons : (...)

  • Réservations multiples

    4 juillet – commentaires

    Permettre aux utilisateurs d’effectuer de réservations multiples (réserver pour plusieurs personnes à la fois ou réserver un événement plusieurs fois) Dépendances Saisies Réservation d’événements Introduction Il y a deux manières de multiplier les (...)