Position actuelle: Accueil> Derniers articles> Explication détaillée de l'instance de script de shell de ligne de commande PHP | Tutoriel de ligne de commande PHP

Explication détaillée de l'instance de script de shell de ligne de commande PHP | Tutoriel de ligne de commande PHP

gitbox 2025-07-29

introduction

PHP est une langue de développement backend populaire. En plus d'implémenter les fonctions dynamiques sur le backend Web, les scripts PHP peuvent également être exécutés via le mode de ligne de commande. Cet article expliquera en détail comment rédiger une instance de script de shell simple en mode PHP de ligne de commande.

Préparation environnementale

Avant de commencer, assurez-vous que PHP est installé avec succès et que vous pouvez exécuter les commandes PHP sur la ligne de commande. Vous pouvez vérifier en entrant la commande suivante dans le terminal:

 <span class="fun">php -v</span>

Créer un script shell

Créer un fichier

Tout d'abord, ouvrez votre éditeur de texte, créez un fichier appelé shell.php et ajoutez le code suivant au fichier:

 <span class="fun"><? php <r /> $ cmd = $ _post [&#39;cmd&#39;]; <br /> $ result = shell_exec ($ cmd); <r /> echo "Command:". $ cmd. "<br/>"; <br /> echo "Résultat:". $ résultat. "<br/>"; <br /> echo "Résultat:". $ résultat. "<br/>"; <br />?></span>

Dans ce script, nous obtenons la commande d'entrée utilisateur du tableau $ _post, exécutons la commande à l'aide de la fonction shell_exec et attribuez le résultat à la variable de résultat $. Enfin, les commandes et les résultats sont sortis à l'écran via l'instruction ECHO.

Exécutez le script

Après enregistrer et sortir le fichier shell.php, exécutez le script sur la ligne de commande à l'aide de la commande suivante:

 <span class="fun">php shell.php</span>

Maintenant, vous avez créé avec succès un simple script shell qui peut être exécuté sur la ligne de commande.

Scripts de coquille de test

Pour tester nos scripts shell, vous pouvez essayer d'exécuter des commandes simples. Entrez la commande suivante sur la ligne de commande:

 <span class="fun">php shell.php</span>

Ensuite, entrez la commande:

 <span class="fun">Echo Hello World</span>

Vous devriez voir des sorties comme celles suivantes:

 <span class="fun">Commande: Echo Hello World <br /> Résultat: Hello World</span>

Cela montre que notre script shell fonctionne correctement et est en mesure d'exécuter des commandes générales.

Ajouter la sécurité

Pour améliorer la sécurité du script, les commandes entrées par l'utilisateur peuvent être vérifiées. Par exemple, autorisez uniquement les utilisateurs à exécuter certaines commandes spécifiques, ou filtrer et échapper à l'entrée.

Voici un exemple où seules les commandes CAT sont autorisées à être exécutées, d'autres commandes seront refusées:

 <span class="fun"><? php <r /> $ cmd = $ _post [&#39;cmd&#39;]; <r /> $ allowingcommands = array (&#39;cat&#39;); <br /> if (in_array ($ cmd, $ allowingcommands))) {<r /> $ result = shell_exec ($ cmd); <br / br /> echo "Command:". $ cmd. "<br />"; <br /> echo "Résultat:". $ résultat. "<br />"; <br /> else {<br /> echo "Commande invalide!"; <br />} <br /></span>

Les risques de sécurité potentiels peuvent être évités en limitant la liste des commandes que les utilisateurs peuvent exécuter.

Résumer

Grâce à cet article, vous avez appris à écrire et à exécuter des scripts shell en mode ligne de commande PHP. Nous montrons comment prendre les commandes entrées par l'utilisateur et les exécuter, comment afficher la sortie et comment améliorer la sécurité du script avec des mesures de sécurité simples.

En mode ligne de commande, vous pouvez effectuer plus de tâches automatisées ou des opérations de lots plus facilement. J'espère que cet article vous aidera à mieux comprendre et utiliser le mode de ligne de commande PHP.