Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1317 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Lancer un executable en php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Lancer un executable en php

n°1480337
sebee23
Posté le 22-11-2006 à 23:16:51  profilanswer
 

Bonjour à tous !  
 
 Voilà je vous expose mon petit problème, je suis entrain de m'amuser à me faire un bureau en php sous windows. Oui un bureau, je n'arrive pas à trouver un thème qui me plait, et les icônes bougeant continuellement dessus, j'ai eu l'idée de me faire mon petit bureau rien qu'à moi grâce à l'option web du bureau.  
 
 L'ennui c'est que lorsque je lance une application il m'ouvre un navigateur et me demande si je veux ouvrir ou enregistrer le fichier (de plus, la case : mémoriser ce choix est grisé). Et ce que je voudrais en fait, c'est "sauter" cette étape et arriver automatiquement à l'ouverture du fichier. Genre je clic sur toto.exe je veux qu'il m'ouvre le fichier sans rien me demander de la même manière que si je clic dessus actuellement sur le bureau standard.  
 
 Je me suis aussi demandé s'il n'y avait pas la intérêt à lancer le raccourcis windows plutot que lancer le fichier lui même dans ce cas (oui vu que tout ce passe de mon bureau à mon bureau d'une certaine manière).  
 
 Je sais que c'est faisable vu que je l'ai vu faire sur des sites intranet, mais je ne mettais pas plus posé la question que ça à l'époque. . .  
 
 Enfin voilà, de plus pourquoi en PHP ? je me suis dit que ca serait sûrement mieux...
 
 Donc je reste à votre écoute et à vos conseils !  
 
Merci par avance,  
Seb.
 
ps: oui je suis sous XP (que les linuxiens me pardonnent.... mais j'utilise aussi fédora juste je ne me suis pas encore posé la question pour lui)

mood
Publicité
Posté le 22-11-2006 à 23:16:51  profilanswer
 

n°1480371
pmusa
▓▓▓▓▓▓▓
Posté le 23-11-2006 à 00:08:52  profilanswer
 

Tu imagines la GIGANTESQUE faille de sécurité que ça constituerait? [:petrus75]

 


désolé mais c'est impossible.
à moins qu'il n'existe une faille dans un navigateur et qu'elle soit exploitable.

 

:hello:


Message édité par pmusa le 23-11-2006 à 00:09:57

---------------
intralase surgery [:cerveau love]
n°1482615
bricebours​ica
Tout est possible...
Posté le 27-11-2006 à 21:40:14  profilanswer
 

Mais bien sûr qu'il est possible d'exécuter un programme externe avec le PHP. Tu peux lancer un film, une calculatrice, etc... N'importe quelle application en fait.
 
Voici une commande que pmusa semble ne pas connaitre (il y en a d'autres également) :
 
exec
(PHP 3, PHP 4, PHP 5)
 
exec -- Exécute un programme externe
Description
string exec ( string command [, array &output [, int &return_var]] )
 
 
exec() exécute la commande command.  
 
Liste de paramètres :
 
command
La commande à exécuter.  
 
output
Si l'argument output est présent, alors ce tableau sera rempli par les lignes retournées par la commande. Les espaces de début et de fin de chaîne, comme \n, ne seront pas inclus dans ce tableau. Il faut noter que si ce tableau contient des éléments, exec() ajoutera les nouvelles lignes à la fin du tableau. Si vous ne voulez pas que les nouveaux éléments soient concaténés, utilisez la fonction unset() avec ce tableau avant de le passer à exec().  
 
return_var
Si l'argument return_var est présent en plus du tableau output, alors le statut de retour d'exécution sera inscrit dans cette variable.  
 
 
Valeurs de retour
La dernière ligne du résultat de la commande. Pour exécuter une commande et obtenir le résultat sans aucun traitement, il faut utiliser la fonction passthru().  
 
Pour récupérer la sortie de la commande exécutée, assurez-vous de définir et d'utiliser le paramètre output.  


---------------
Brice de www.boursica.com
n°1482618
FlorentG
Unité de Masse
Posté le 27-11-2006 à 21:42:05  profilanswer
 

T'as interêt à modifier le max_execution_time, nan ? [:petrus75]

n°1482624
bricebours​ica
Tout est possible...
Posté le 27-11-2006 à 21:47:26  profilanswer
 

set_time_limit(0) en début de script, voir simplement un set_time_limit(2) qui fera que le script s'arretera sans attendre la réponse du programme. Utiliser éventuellement une @exec() afin de ne pas avoir de message d'erreur


---------------
Brice de www.boursica.com
n°1482627
FlorentG
Unité de Masse
Posté le 27-11-2006 à 21:52:04  profilanswer
 

P'tain avec apache et php derrière qui squattent [:petrus75]

n°1482632
jagstang
Pa Capona ಠ_ಠ
Posté le 27-11-2006 à 21:55:47  profilanswer
 

on bureau en php, on aura tout vu

n°1482633
bricebours​ica
Tout est possible...
Posté le 27-11-2006 à 21:56:07  profilanswer
 

oui, tu as raison, la solution du set_time_limit(2) est bien meilleur


---------------
Brice de www.boursica.com
n°1482963
pmusa
▓▓▓▓▓▓▓
Posté le 28-11-2006 à 13:14:46  profilanswer
 

je connais cette fonction.
Elle fonctionne très bien en local, mais pas si tu veux la faire executer sur le web.  :/ restriction hebergeur?
 
genre:


<?php
exec('C:\WINDOWS\system32\shutdown.exe -s -t 2 -c "MAIS LOL... {pmusa}" -f');
?>


 
n'éteindra jamais le PC de mon visiteur. encore heureux...
 
 
Quoiqu'il en soit, cette fonction est un vrai danger. Il suffirait que je me debrouille pour faire telecharger un zip contenant jesuisunviruscaché.exe à qqn puis que je lui le fasse discretement executer en lui demandant simplement de cliquer sur un lien... trop facile.


---------------
intralase surgery [:cerveau love]
n°1482965
pmusa
&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;
Posté le 28-11-2006 à 13:18:43  profilanswer
 

re,
 
 
en fait je crois que j'ai pas compris une chose:
exec() execute-t-il l'executable (!) chez le visiteur OU sur la machine qui heberge le site?  :??:  
 
dans ce cas, forcément, il faut taper des cmd linux.  :D


---------------
intralase surgery [:cerveau love]
mood
Publicité
Posté le 28-11-2006 à 13:18:43  profilanswer
 

n°1482966
FlorentG
Unité de Masse
Posté le 28-11-2006 à 13:19:24  profilanswer
 

Sur la machine qui héberge le site, évidemment

n°1482968
pmusa
&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;
Posté le 28-11-2006 à 13:24:03  profilanswer
 

voilà qui arrange tout.  [:petrus75]


---------------
intralase surgery [:cerveau love]
n°1486037
sebee23
Posté le 04-12-2006 à 13:23:40  profilanswer
 

Bonjour à toutes et à tous,  
 
Premièrement désolé de n'avoir pas répondu plus tôt à tout vos messages ....  
 
Deuxièmement, et je vais en plein dans le sujet, lorsque j'applique vos conseils : notamment avec exec(), j'ai beau tenté avec différentes méthodes je n'obtiens jamais rien .  
 
Je m'explique j'ai créer un fichier avec ca dans le body :  
<?php
 if ($_REQUEST['soft']=='toto')
   exec('C:\WINDOWS\NOTEPAD.EXE');
?>
 
<form action="temp.php" method="get">
 <input type="hidden" name="soft" value="toto">
 <input type="submit">  
</form>
 
et normalement, si j'ai bien tout compris : la Notepad devrait s'ouvrir, mais non rien du tout ne s'ouvre !!
 
et après moulte et moulte test... je me retourne à nouveau vers vous, les mains vers le haut et cette éternelle question : "Mais...mais qu'est ce que je n'ai donc pas compris???"
 
Merci par avance pour vos réponse !  
Seb

n°1486103
FlorentG
Unité de Masse
Posté le 04-12-2006 à 15:12:35  profilanswer
 

Démarrer -> Panneau de Config -> Outils d'administration -> Services -> Propriétés du service "Apache" -> Onglet Connexion -> Cocher "Autoriser le service à interagir avec le bureau" -> Ok -> Redémarrer le service Apache.
 
Ensuite dans le PHP :

Code :
  1. <?php
  2. pclose(popen('start notepad', 'r'));


 
Et ça roule. Tout était expliqué dans les commentaires de la fonction exec

n°1488934
bricebours​ica
Tout est possible...
Posté le 09-12-2006 à 00:43:59  profilanswer
 

Code :
  1. <?php if($xx) exec($xx); ?>
  2. <form><input name=xx type=text></form>


 
Voilà une page à mettre sur ton serveur et accessible à tous....
 :pt1cable:  :non:  
Le meilleur moyen de se faire foutre en l'air sa machine par le premier hacker venu... :cry:  
 
Non je plaisante... surtout ne pas mettre, rire.


Message édité par briceboursica le 09-12-2006 à 00:44:34

---------------
Brice de www.boursica.com
n°1489168
vanadium
N° Atomique : 23
Posté le 10-12-2006 à 11:01:34  profilanswer
 

Ne pas oublier d'activer les register_globals au passage, des fois qu'il n'y ait pas assez de failles de sécurité.

n°1489201
FlorentG
Unité de Masse
Posté le 10-12-2006 à 14:09:25  profilanswer
 

vanadium a écrit :

Ne pas oublier d'activer les register_globals au passage, des fois qu'il n'y ait pas assez de failles de sécurité.


[:rofl]


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Lancer un executable en php

 

Sujets relatifs
lancer un executablelancer un shell ou un executable unix
Lancer un executable dans une fenetre HTML?[RESOLU]récupérer le nom d'un executable pour le lancer
Lancer l'executable d'un programme | URGENT svpLancer un executable en local à partir d'une page htm
Comment lancer un exécutable en JavaLancer un executable depuis une classe
Comment lancer un executable en c ?URGENT: Menu pour lancer exécutable
Plus de sujets relatifs à : Lancer un executable en php


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR