Telnet et PHP

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 : Telnet et PHP

par Berzemus » 04 nov. 2008, 10:37

La seule façon pour ton site de contrôler et de lancer des processus sur une machine client, c'est utiliser les composants ActiveX sous Internet Explorer en javascript, après avoir réussi à les mettre en marche et avoir appris à les utiliser.

Voilà, maintenant tu sais que c'est possible, mais ça ne t'avance à rien.

A moins de vouloir passer par chaque poste client après chaque mise à jour de windows, et à constamment résoudre les différents conflits.

par Zoro63 » 04 nov. 2008, 10:07

Ok merci quand même j'espérai qu'il est une solution.

par Sékiltoyai » 04 nov. 2008, 02:08

Je suis dans un réseau local, le site sera en intranet. Donc si je met en partage un dossier est-ce que se sera possible.

	$host=$_GET["ip"];
    $shell= fopen("//10.63.10.120/transit/CMD.bat","w+" ); //On crée ou on ouvre un fichier .bat
	$line="telnet ".$host."";  
   fwrite($shell,$line);  //on ecrit ds ce fichier bat la ligne du dessus
   $line2="\n"."exit";// on va a la ligne et on tape la commande pour fermer la fenetre dos
   fwrite($shell,$line2);
   fclose($shell);  //on ferme le fichier bat
   exec("start //10.63.10.120/transit/CMD.bat" ); // on exécute ce fichier bat
Mon code cré le fichier dans le partage mais par la suite n'arrive pas à l'ouvrir que ce soit en local ou à distance.
Non, non, non, et non…
Quand bien même aurait-il réussi à l'exécuté, il aurait exécuté le fichier //10.63.10.120/transit/CMD.bat sur le serveur. Il faut vraiment que tu apprennes le concept de client-serveur. Tout ce que tu exécutes, tu le fais sur le serveur. Si tu veux exécuter sur une autre machine, tu dois te connecter sur cette machine et la controler pour exécuter la commande.

par Calimero » 03 nov. 2008, 18:55

Je ne pense pas que la solution à ton problème soit réalisable directement en PHP. Rien ne permet en effet à PHP d'éxécuter des processus sur des machines tierces. Si tu veux réellement faire ça, il va te falloir t'appuyer sur une autre technologie (par exemple, sous Linux, il y a SSH pour faire ce genre de choses).

par Zoro63 » 03 nov. 2008, 14:20

Je suis dans un réseau local, le site sera en intranet. Donc si je met en partage un dossier est-ce que se sera possible.

	$host=$_GET["ip"];
    $shell= fopen("//10.63.10.120/transit/CMD.bat","w+" ); //On crée ou on ouvre un fichier .bat
	$line="telnet ".$host."";  
   fwrite($shell,$line);  //on ecrit ds ce fichier bat la ligne du dessus
   $line2="\n"."exit";// on va a la ligne et on tape la commande pour fermer la fenetre dos
   fwrite($shell,$line2);
   fclose($shell);  //on ferme le fichier bat
   exec("start //10.63.10.120/transit/CMD.bat" ); // on exécute ce fichier bat
Mon code cré le fichier dans le partage mais par la suite n'arrive pas à l'ouvrir que ce soit en local ou à distance.

par Sékiltoyai » 03 nov. 2008, 14:04

Mais si une personne accéde à mon site la console Telnet s'ouvre sur le serveur et non sur son poste à lui.
Euh, c'est totalement normal ça. Si tu exécutes le script sur le serveur, il s'exécutera sur le serveur…
Merci je le savais, mon problème est là c'est pourquoi je vous demande de l'aide. Comment je peux faire pour qu'il s'éxecute sur le poste qui accède à mon site.
Ce n'est pas possible… C'est le principe de client-serveur. Tu n'as aucun contrôle de ce qu'il se passe chez le client. Et en plus le client peut très bien être sur un système quelconque…

par Zoro63 » 03 nov. 2008, 13:52

Mais si une personne accéde à mon site la console Telnet s'ouvre sur le serveur et non sur son poste à lui.
Euh, c'est totalement normal ça. Si tu exécutes le script sur le serveur, il s'exécutera sur le serveur…
Merci je le savais, mon problème est là c'est pourquoi je vous demande de l'aide. Comment je peux faire pour qu'il s'éxecute sur le poste qui accède à mon site.

par Sékiltoyai » 03 nov. 2008, 13:37

Mais si une personne accéde à mon site la console Telnet s'ouvre sur le serveur et non sur son poste à lui.
Euh, c'est totalement normal ça. Si tu exécutes le script sur le serveur, il s'exécutera sur le serveur…

par Zoro63 » 03 nov. 2008, 13:30

Il ne se connecte pas un poste mais à un élément réseau. Donc pas besoin de vérifier si Telnet soit ouvert dessus. Mon souci comme je l'ai dis au dessus, en local tout marche bien. Mais si une personne accéde à mon site la console Telnet s'ouvre sur le serveur et non sur son poste à lui.

par Berzemus » 03 nov. 2008, 11:18

Donc, l'utilisateur vient sur le site, entre une adresse IP, et se retrouve alors avec une connexion telnet avec le poste correspondant a l'IP qu'il à choisi ?

Comment être sur que le Telnet soit ouvert sur le poste demandé par le visiteur ?

par Zoro63 » 03 nov. 2008, 09:57

Désolés pour la réponse tardive

Si dans cette page, tu mets ton IP et que cette page tu l'envoi sur un serveur distant (obligatoirement une machine Windows puisque tu parles de "C:\..."), c'est normal, sinon faut que tu mettes "localhost" ;)

J'ai écris quelque chose dans ce style.
$shell= fopen("http://localhost/CMD.bat","w+" )
Mais ça marche toujours pas je sais pas trop comment faire avec le localhost. Est-ce que tu pourrais m'éclairer.

En fait, Zoro64, tu cherches à faire quoi ?

Peut-être peut on te conseiller sur une autre méthode plus efficace..
Je souhaite lorsque un utilisateur accéde à ma page PHP qu'une connexion s'établisse en Telnet avec l'adresse IP demandé par celui-ci.

par Berzemus » 01 nov. 2008, 00:33

En fait, Zoro64, tu cherches à faire quoi ?

Peut-être peut on te conseiller sur une autre méthode plus efficace..

par chrislabricole » 31 oct. 2008, 19:57

Si dans cette page, tu mets ton IP et que cette page tu l'envoi sur un serveur distant (obligatoirement une machine Windows puisque tu parles de "C:\..."), c'est normal, sinon faut que tu mettes "localhost" ;)

par Zoro63 » 31 oct. 2008, 15:03

J'ai créé plus ou moins script mais j'ai encore un petit souci.
En local sur mon poste tout marche bien le script me lance le .bat et effectue la connexion en Telnet.
Mai lorsque que je le fais sur un ordinateur distant qui accéde à ma page Web, le script s'éxecute pas sur son poste mais sur le mien. Est-ce que quelqu'un pourrait m'aider.
$host=$_GET["ip"];
    $shell= fopen("C:\CMD.bat","w+" ); //On crée ou on ouvre un fichier .bat
	$line="telnet ".$host."";  
   fwrite($shell,$line);  //on ecrit ds ce fichier bat la ligne du dessus
   $line2="\n"."exit";// on va a la ligne et on tape la commande pour fermer la fenetre dos
   fwrite($shell,$line2);
   fclose($shell);  //on ferme le fichier bat
   exec("start C:\CMD.bat" ); // on exécute ce fichier bat
Pour votre aide merci.

par Truc » 28 oct. 2008, 14:26

Modération :
PHPFrance n'est pas un site de distribution de scripts gratuits,
ni de débuggage de scripts téléchargés et utilisés sans compréhension.

Merci de prendre le temps de lire les règlements.