Forum Clubic

Lancer un fichier BAT [résolu]

Coucou à tous,
Est ce que quelqu’un peut m’aiguiller sur le pb suivant:
Je veux lancer un fichier save.bat sur le serveur à partir d’un page en php. Si quelqu’un peut me donner le nom des fonctions ou un exemple, je suis preneur.
Merci

la fonction exec à l’air d’être la réponse à mon pb

C’est quand même à éviter si possible, imagine que l’on arrive à injecter autre chose que exec( ‘save.bat’ ) ?

pourquoi à éviter et injecter quoi et comment puisque le batch à lancer est sur le serveur et que c’est moi qui détermine le fichier?

S’il n’utilise pas de variable, il n’y a pas de risque d’injection (met quand même le fichier bat dans un repertoire protegé par un .htacess, mais c’est pour la forme :slight_smile: ).
Par contre si tu utilises un code du genre exec($file), pense à bien controler le contenu de ta variable avant l’execution de la commande. Ce genre de failles en php sont de loin les plus dangereuses et les plus faciles à exploiter :slight_smile:

Alors je te rassure, le fichier est bien dans un dossier protégé et je ne pense pas utiliser de variables mais donner le nom du fichier dans la commande. Pour l’instant, je ne fait que des tests car je souhaite pouvoir lancer une sauvegarde à l’extérieur de la société ou je bosse mais je ne sais pas encore si je vais utiliser définitivement cette méthode. Sinon, la fonction exec peut être sympa pour lancer un scan antivirus à distance sur mon serveur.

toffe27> hum, tu as songé aux tâches ? Puisque tu es sous Windows, autant faire une tâche planifiée, au moins ta sauvegarde sera faîte.

De toute façon, le fait que tu ai accès au serveur web depuis n’importe où suppose aussi qu’il est démarré tout le temps ?

en fait, à la base je faisait des tests de sauvegarde externalisée par ftp à l’aide d’un script, et j’ai voulu voir si je pouvais déclancher le script via une page php. Mais pour l’instant, il s’agit plus de curiosité de programmation qu’une réalité car comme tu le dit, il y a les taches planifiées.