Execution de script

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Execution de script

Re: Execution de script

par stealth35 » 07 juil. 2010, 16:04

Bon j'ai finalement réussi, pour ce faire j'ai récupèrer les variables avec un $_POST[] sur mon index puis j'ai envoyé les variables par url vers le script cgi dans la fonction virtual:
$name = $_POST['Name'];
virtual("cgi-bin/monscript.gci?name=$name");
break;
Les scripts dépotent grave maintenant. :mrgreen:
Merci.

parfait, le cgi c'est pas si compliqué :wink:

Re: Execution de script

par bilbao » 07 juil. 2010, 15:58

Bon j'ai finalement réussi, pour ce faire j'ai récupèrer les variables avec un $_POST[] sur mon index puis j'ai envoyé les variables par url vers le script cgi dans la fonction virtual:
$name = $_POST['Name'];
virtual("cgi-bin/monscript.gci?name=$name");
break;
Les scripts dépotent grave maintenant. :mrgreen:
Merci.

Re: Execution de script

par bilbao » 07 juil. 2010, 11:00

Bon j'ai un autre problème maintenant.
En effet je dois passer des données qui viennent d'un formulaire HTML basique (Méthode POST)
J'ai réussi à récupérer les variables grâce au module CGI de perl.
Seulement, toutes mes pages sont affichées à l'aide d'include à partir de l'index et pour les pages CGI j'utilise la fonction "virtual" de php pour Apache.
Et quand j'utilise cette fonction je ne peux plus récupérer mes variables. Le script Perl n'arrive plus à les récupérer.

J'ai aussi trouvé un autre moyen qui consiste à récupérer les variable sur mon index et ensuite les envoyé sur le script perl, mais je n'arrive pas à utilisé les fonctions Apache sur perl
Je pense qu'il faut que je charge un module mais lequel? J’ai essayé "use Apache;" sans sucées.

http://www.phpsources.org/function.apache_note.php

PHP:
<?php

apache_note('name', 'Fredrik Ekengren');

// Appel du script Perl
virtual("/perl/some_script.pl");

$result = apache_note("resultdata");
?> 
Perl :

Code : Tout sélectionner

# Récupération de l'objet de demande Apache my $r = Apache->request()->main(); # Récupération des données passées my $name = $r->notes('name'); # Des traitements # Envoi du résultat vers PHP $r->notes('resultdata', $result);
Voilà je voulais savoir si quelqu’un avait une idée pour me décoincer avant que mon code ne se transforme en une véritable usine à gaz. :oops:
Ca commence à devenir serieusement chaud PHP/HTML/Javascript/Perl/Powershell :mrgreen:

Re: Execution de script

par bilbao » 06 juil. 2010, 10:01

Disons que mon stage porte sur Powershell pas sur PHP. :D
De plus je possède une bien meilleur maitrise de Powershell par rapport à PHP et j'utilise d'autres fonctions que PHP ne pourrait pas faire et que j'aimerai aussi utiliser via CGI, ou de façon un peu plus "propre". :D
(Je sait je suis chiant :P )

EDIT : Bon j'ai finalement réussi a trouvé un compromis, pour ca j'ai lancé la console powershell avec du perl :

Code : Tout sélectionner

$ps_exec = 'C:\WINDOWS\system32\windowspowershell\v1.0\powers hell.exe -PSConsoleFile "C:\Program Files\Microsoft\Exchange Server\bin\exshell.psc1" -command ". \" C:\Program Files\Microsoft\Exchange Server\bin\getuserdata.ps1\" " '; system($ps_exec );

Re: Execution de script

par stealth35 » 06 juil. 2010, 09:55

tu pourrais faire tout ca en PHP :wink:

Re: Execution de script

par bilbao » 06 juil. 2010, 09:44

Mon script réalise une arborésence des groupe d'utilsateurs de l'AD en Javascript. (On a des groupes , des groupes de groupes , des groupes de groupes de groupes etc... :D )
Le problème c'est que je ne m'y connais pas trop en CGI, et je n'ai trouvé que des tuto pour éxécuter du pearl.
J'ai mis :

Code : Tout sélectionner

#!C:\Windows\system32\WindowsPowershell\v1.0\powershell.exe write-host "Content-type : text/html write-host "Salut"
(C'est juste une script pour test)
Il me met Server Internal Error visiblement il ne me trouve pas le shell...j'ai aussi test de mettre /nologo à la fin pareil.

Re: Execution de script

par stealth35 » 06 juil. 2010, 09:23

je pense que le CGI serai un bonne solution, que fais ton script ?

Execution de script

par bilbao » 06 juil. 2010, 09:19

Bonjour,
Je possède actuellement une plateforme WAMP.
J'ai codé une site intranet qui possède des fonctions Powershell que j'execute grace à la commande shell_exec :

(Powershell est un langage script de type pearl à la sauce microsoft, pour ceux qui ne connaissent pas :D )
shell_exec("powershell -command ./monscript.ps1");
Seulement une de mes fonctions possède un temps d'execution de 8 secondes et qui à terme créé une page php qui est ensuite récupèré de cette façon :
$file = "./ma_page_php.php";
$boucle = 0;
while ($boucle != 1) {
   if (file_exists($file)) {
      $boucle = 1;
   }
   sleep(0.4);
   }
   sleep(1);
include("$file");
Cela peut paraitre surement bizzare mais cela fonctionne, enfin presque car quand j'utilise cette fonction en simultané sur plusieurs ordinateurs mon httpd.exe bloque et le site par la même occasion.
J'ai d'abord pensé que cela venais de Powershell mais après quelque manip j'ai fortement réduit l'utilisation CPU de celui ci, il est donc hors de cause, en revanche le httpd.exe lui utilise 98% du cpu.Je pense que cela viens de ma boucle while.
J'ai aussi tenté de lancer mes scripts Powershell via CGI mais je n'y arrive pas :?
Bref quelq'un aurait un autre moyen pour récupèrer ma page php ou éxécuter mes scripts Powershell?
Merci.