CE FORUM EST MAINTENANT FERMÉ. RDV SUR LE NOUVEAU FORUM ! (on repart de zéro : il faut recréer son compte)

Poster une réponse 
 
Note de cette discussion :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Executer un script de une page web
07-01-2012, 22:44:10
Message : #1
Executer un script de une page web
Salut a tous, Bonne année et meilleurs vœux pour 2012 :)

Alors voila,

J'aimerais pouvoir exécuter des scripts, .sh par exemple depuis une page web

Exemple : arreter / rebooter un serveur minecraft, rien de plus

j'ai regarder avec php et la variable system

mais sa n'a pas donner grand chose, après j'ai vu un sujet sur les cgi-bin

j'aimerais savoir ce que vous en penser, si c'est faisable, si oui quelqun peut m'aiguillez avec un code en exemple ? Angel

En tout ca je tient a SOULIGNER, ce n'est pas en vu de faire un panel ou quoi que ce soit, c'est personnel, c'est certes pour exécuter des scripts de reboot ou autre mais rien de plus


Merci a vous :)
Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse

Pour ne plus voir ces publicités, il suffit de s'inscrire !

08-01-2012, 11:42:53 (Ce message a été modifié le : 08-01-2012 11:59:33 par warhawk3407.)
Message : #2
RE: Executer un script de une page web
Je vois les choses ainsi :

-Avoir un minimum de conaissances en php / SQL / Shell
-Créer un .htacess pour sécuriser la page.
-Une BDD ou un fichier pour stocker les noms des screens et les IDs des serveurs minecraft.
-Ensuite deux solutions : tu as soit la libssh, soit phpseclib. Dans les deux cas, google is your friend. Pour la libssh, tu as le man sur php.net. Ces deux commandes permettent de communiquer vie SSH à ton dédié.


Exemple d'intégration avec phpseclib, module SSH :

<?php
include('Net/SSH2.php');

$ssh = new Net_SSH2('www.domain.tld');
if (!$ssh->login('username', 'password')) {
exit('Login Failed');
}

echo $ssh->exec('pwd');
echo $ssh->exec('ls -la');
?>


Il faut récupérer l'etat des serveurs, pour savoir quelles actions opérer, tu peux utiliser fsockopen. pense tj au man de php.net.

Si le port est ouvert, alors le serveur est up. Donc on peut soit le reboot soit arreter. (dans les deux cas, on se racroche au screen du serveur que l on veut reboot/stopper, et on envoie notre/nos commandes. De meme, tu peux selectionner ton script shell en conséquence).
Si le port est fermé, alors soit le serveur est en cours de boot (donc penser à mettre en place un timer lors des démarrages / redemarrages, afin d eviter de lui demander 10 démarrages car on croit que ca fait rien), soit il est rééllement out, donc on boot(et tu met le .sh correspondant).


Si tu veux faire plus simple,
tu structure une page avec un switch, c'est elle qui va choisir quel .sh il faut executer. Une autre page qui va faire office de formulaire sous forme de cases à cocher, en fonction de la case cochée, on tombe sur un cas du switch. Le formulaire pointe vers la page au switch, qui va traiter le formulaire.


Je t ai fait en trés gros la theorie, il me semble necessaire de faire un mini panel pour quelque chose de "propre", à toi de faire le reste Wink.

[Image: left4ever_sign.png]
Left4Ever - Communauté Left 4 Dead 2
Forum de la Communauté
Filiale du groupe communautaire multigaming "GameCities"
Thanks a lot G2 ;)
Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse
08-01-2012, 14:13:58 (Ce message a été modifié le : 08-01-2012 14:14:18 par Pollux.)
Message : #3
RE: Executer un script de une page web
t'exploite une XSS :D
Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse

Pour ne plus voir ces publicités, il suffit de s'inscrire !

08-01-2012, 15:36:23
Message : #4
RE: Executer un script de une page web
si il y a un htaccess ca limite Tongue
Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse
08-01-2012, 17:21:26
Message : #5
RE: Executer un script de une page web
Merci warhawk3407

C'est sympa de consacrer du temps pour me répondre ;)

Alors j'ai bien compris la chose, seulement sa me semble assez poussé par rapport a ce que j'ai vraiment besoin,

J'ai deja un script de lancement minecraft, avec toutes les commandes telles :

start stop restart command backup ...

Donc la seul commande a exécuter serais enfaite /etc/init.d.minecraft restart

c'est des petites commandes toutes bêtes, je ne compte pas faire de panel avec donc sa m’embêterais de faire quelque chose de complexe pour si peux .

je m’était penché sur les cgi-bin,

j'avais fais un script .sh avec dedans : mkdir test

puis un sccript.sh dans le cgi-bin qui faisait appel a l'autre script, le dossier test se créer sans soucis, avec l'use www-data

donc j'ai ensuite modifier ma commande, sudo -u root mkdir test < ./root.pw
qui créer donc le fichier avec les droits root

jusque la tout est ok, mais quand j'essaye d’exécuter une commande telle que killall-9 java, sans succés

C'est du bricolage ce que je fais je pense, mais je cherche vraiment a faire un truc trés simple pour ma petite personne ^^

encore merci !
Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse

Pour ne plus voir ces publicités, il suffit de s'inscrire !

08-01-2012, 19:44:18
Message : #6
RE: Executer un script de une page web
mais avec la fonction system() cela fonctionne ? tu dit que cela n'a pas donné grand chose, mais si tu nous donnait un ecm ?
Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse
08-01-2012, 20:02:27
Message : #7
RE: Executer un script de une page web
sinon, essaye avec exec();

Sincerement, la methode simple que je propose n est pas si compliqué que ca Tongue.
Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse

Pour ne plus voir ces publicités, il suffit de s'inscrire !

10-01-2012, 21:08:44 (Ce message a été modifié le : 10-01-2012 21:09:08 par Norico.)
Message : #8
RE: Executer un script de une page web
Code PHP :
/* action.php */
$address="127.0.0.1";
$port="22";
$user="user";
$password="password";
$script "/etc/init.d.minecraft "

// Connexion SSH
$shell ssh2_connect($address$port);
if (!
$shell) return false;
$auth ssh2_auth_password($shell$user$password);
if (!
$auth) return false;

if (
$action == "start") {
    
$command  $script $action
    $stream 
ssh2_exec($shell$command);
    if (
$stream){
        
stream_set_blocking($streamtrue);
        
$data stream_get_contents($stream);
        return 
true;
    }
    else {
        return 
false;
    }
}

if (
$action == "stop") {
    
$command  $script $action
    $stream 
ssh2_exec($shell$command);
    if (
$stream){
        
stream_set_blocking($streamtrue);
        
$data stream_get_contents($stream);
        return 
true;
    }
    else {
        return 
false;
    }
}

if (
$action == "restart") {
    
$command  $script $action
    $stream 
ssh2_exec($shell$command);
    if (
$stream){
        
stream_set_blocking($streamtrue);
        
$data stream_get_contents($stream);
        return 
true;
    }
    else {
        return 
false;
    }



c'est basique mais ca marche.
ne reste plus qu'a faire le formulaire et les tests éventuels de code d'erreurs et de connexion sécurisé.

Code :
<form name="action" method="POST" onsubmit="return onsubmitform();">
<input type="submit" name="action"    onclick="document.pressed=this.value" value="start" />
<input type="submit" name="action"    onclick="document.pressed=this.value" value="stop" />
<input type="submit" name="action"    onclick="document.pressed=this.value" value="restart" />
</form>

TNT Admin | Web & Shell Steam Game Panel | TMS2 Project on github
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse
11-01-2012, 19:18:45
Message : #9
RE: Executer un script de une page web
Merci a vous , c'est vraiment sympa ;)

Norico tu ma mâcher le travail et tu me la emballer que dire de plus ?

Je test ca des que je peux et je vous dit ce qu'il en est

c'est basique mais je cherche encore plus simple, rien a redire un grand merci ;)
Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse

Pour ne plus voir ces publicités, il suffit de s'inscrire !

11-01-2012, 23:28:24
Message : #10
RE: Executer un script de une page web
tu veux mon paypal ? Smile
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse
Poster une réponse 


Aller à :

ContactTutoS GameServerRetourner en hautRetourner au contenuVersion bas-débit (Archivé)Syndication RSS