Soyez le premier à donner votre avis sur cette source.
Snippet vu 14 714 fois - Téléchargée 17 fois
<?php if (create_ftpuser('username', 'password', 'C:\\path', $droit='239')) echo 'OK'; function create_ftpuser($username, $password, $path, $permissions='239') { if ($socket = fsockopen('127.0.0.1', '14147', $errno, $errstr, 10)) { $ConnectionState=1; while ($readString .= fread($socket,8192)) { switch ($ConnectionState) { case 1: if (substr($readString,0,3) == 'FZS') { $ConnectionState = 2; fputs($socket, bytes2string(array(8,0,0,0,0,12,1,0,0,0,0))); } $readString=''; break; case 2: switch(ord($readString[0])) { case 33: fputs($socket, bytes2string(array(32,0,0,0,0))); break; case 9: fputs($socket, bytes2string(array(24,0,0,0,0))); $ConnectionState=3; break; } $readString=''; break; case 3: switch(ord($readString[0])) { case 25: if (strlen($readString) == ((ord(substr($readString,2,1)) * 256) + ord(substr($readString,1,1)) + 5)) { $password= md5($password); $readString = substr($readString,4); $datass=''; echo '<b>Nombre de comptes sur le serveur FTP: '.ord(substr($readString,4,1)).'</b><br>'; $datass = bytes2string(array(0,0,0,ord(substr($readString,4,1))+1)).substr($readString,5); $datass.= bytes2string(array(0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,1,0,strlen($chemin))).$chemin; $datass.= bytes2string(array(0,0,1,$droit,0,0,10,0,0,0,0,10,0,0,0,0,0,0,strlen($pseudo))); $datass.= $pseudo.bytes2string(array(0, strlen($password))).$password; fputs($socket,create_request($datass,'24')); $ConnectionState=4; echo strlen($readString); $readString=''; } break; } break; case 4: switch(ord($readString[0])) { case 25: fclose($socket); return true; break; } $readString=''; break; } } } fclose($socket); return false; } function bytes2string($data) { $retour = ''; if (is_array($data)) { foreach ($data as $char) { $retour .= chr($char); } } return $retour; } function create_request($data,$commande) { $req = chr($commande); if (strlen($data)>255) { $var1 = (strlen($data)/256); $var1 = substr($var1,0,strpos($var1,'.') ); $var2 = (strlen($data)-($var1*256)); $req .=chr($var2).chr($var1); $req .=chr(0).chr(0); } else { $var1 = (strlen($data)-($var1*256)); $req .=chr($var1).chr(0); $req .=chr(0).chr(0); } $req .= $data; return $req; } ?>
26 juin 2013 à 21:14
Il faudrait savoir de quel façon php est appelé (via FCGI, en module, en cgi). Ensuite il faudrait regarder les logs appropriés.
26 juin 2013 à 16:04
Cela m'interesse beaucoup c'est exactemment ce que je cherche à faire
Néanmoins ça ne fonctionne pas chez moi, j'ai une erreur serveur 500
J'ai pourtant filezilla qui fonctionne sur le port par defaut pour l'administration et php 5.4.3
je ne sais absolument pas comment faire et cette source semble être mon unique espoir ^^'
merci si jamais quelqu'un pourrais m'aider
27 févr. 2010 à 14:17
je ne l'est pas encore tester mais sa fait un moment que je recherche comment créé des utilisateur automatiquement.
@TOAW13:
Cette source est une fonction PHP elle génère pas le formulaire qui permet de l'utiliser, tu doit le créé toit même (en html c'est pas bien compliqué).
Une foi créé tu appel cette fonction et tu luis passe en paramètre les donnée récupère par ton formulaire.
ps: désoler pour l'orthographe
18 févr. 2010 à 11:40
Je suis très interessé par cette source, mais mal heureusement je n'arrives pas à l'utiliser.
Je ne suis pas développeur et je ne connais pas du tout php.
J'ai copier ce code dans une extention PHP sur mon serveur. (j'utilise Xampp pour faire fonctionner Apache, MySql et FileZilla sur le serveur)
J'ai modifié le code (la partie du haut) avec les informations correspondant à mon serveur.
Mais lorsque je lance la page PHP depuis un navigateur, j'ai une page blanche, sans aucune boite qui me demande quoi que ce soit.
Pourriez vous m'expliquer comment fonctionne cette source et comment l'installer.
Merci beaucoup
20 avril 2009 à 10:35
Merci pour ce script.
J'utilise pour ma part l'authentification sur le server FTP.
Et je ne peux donc pas utiliser ton script.
Saurais tu comment faire pour l'ajouter?
Merci d'avance.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.