www.ProFTPD.de
13. März 2007, 18:38:51 *
Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?

Einloggen mit Benutzername, Passwort und Sitzungslänge
News: SMF - Neu installiert!
 
   Übersicht   Hilfe Suche Login Registrieren  
Seiten: 1 [2] 3 4 ... 7   Nach unten
  Drucken  
Autor Thema: PHP-Verbindungsviewer für proftpd  (Gelesen 13309 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
Wörsty
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 1602


50772603
Profil anzeigen WWW E-Mail
« Antwort #15 am: 15. September 2003, 09:33:57 »

Mach einfach ;o) :lol:
Gespeichert

RedHat 8.0 (2.4er Kernel)
proftpd 1.2.10
-mod_sql_mysql
-mow_wrap
-mod_exec
-mod_ifsession[/size]
Anonymous
Gast
« Antwort #16 am: 21. September 2003, 00:02:57 »

Version 1.02 verfügbar  Lächelnd
-Bugfixes (Seitentitel und Statuszeile :roll: )
-New Features (Killfunktion)
Hier herunterladen.


Code:
<?php 
/************************************* 
*       ftp-online für proftpd       * 
* PHP-Verbindungsviewer für proftpd  * 
*     ftp-online@woerstenfeld.de     * 
*   Version 1.02 - 20.09.2003 23&#58;56  * 
*************************************/ 

#### Konfiguration #### 
$refresh      10;                         # Alle x Sekunden neu laden 
$title        "--=FTP-Online=--";         # Fenstertitel 
$font         "Verdana";                  # Schriftart 
$headline     "Offene Verbindungen";      # Ueberschrift 
$befehl       "/usr/local/bin/ftpwho -v"# Auszufuehrender Befehl 
$killbefehl   "/bin/kill -9";             # Auszufuehrender kill-Befehl 
$tempfile     "/tmp/ftp.online";          # Temporäre Datei 
$button1      '<IMG alt="" src="start.gif"    width="64" height="25" border="0">'# Startknopf 
$button2      '<IMG alt="" src="stop.gif"     width="64" height="25" border="0">'# Stoppknopf 
$img_server   '<IMG alt="" src="server.gif"   width="16" height="16">'# Serverbild
$img_client   '<IMG alt="" src="client.gif"   width="16" height="16">'# Benutzerbild
$img_location '<IMG alt="" src="location.gif" width="16" height="16">'# Verzeichnisbild
$img_status   '<IMG alt="" src="status.gif"   width="16" height="16">'# Status
$img_pid      '<IMG alt="" src="pid.gif"      width="16" height="16">'# PID
$img_user     '<IMG alt="" src="user.gif"     width="16" height="16">'# User
$STOR         "Der Benutzer l&auml;dt Daten hoch";
$RETR         "Der Benutzer l&auml;dt Daten herunter";
$idle         "Die Verbindung ruht";
$auth         "Der Benutzer meldet sich gerade an";
$nouser       "Es ist niemand mit dem Server verbunden.";

#### Programm ####

if &#40;!isset&#40;$_GET["loop"&#93;&#41;&#41; 
&#123; 
  
$do_refresh true
  
$start_stop "?loop=0"
  
$button     $button2
&
#125; 
else 
&
#123; 
  
$start_stop ""
  
$button     $button1
&
#125; 

$command shell_exec&#40;"$befehl > $tempfile"&#41;; 
$handle  fopen &#40;"$tempfile", "r"&#41;; 
if &#40;$handle&#41; 
&#123; 
  
$content "<FONT size=\"-2\" face=\"$font\">\n"
  while &
#40;!feof &#40;$handle&#41;&#41; 
   
&#123; 
    
$buffer fgets&#40;$handle, 4096&#41;; 
    
if &#40;strstr&#40;$buffer,"\n"&#41;&#41; $content .= "<BR>"; 
 //   if &#40;strstr&#40;$buffer,"Service class"&#41;&#41; $content .= "<HR>"; 
//    $buffer = str_replace&#40;"Service class                      -", " ",$buffer&#41;; 
//    $buffer = str_replace&#40;"users", "Benutzer",$buffer&#41;; 
    
$buffer str_replace&#40;"client&#58;", "$img_client<font color=blue><b>&nbsp;Benutzer&#58;</b></font>",$buffer&#41;; 
    
$buffer str_replace&#40;"server&#58;", "$img_server<font color=blue><b>&nbsp;Server&#58;</b></font>",$buffer&#41;; 
    
$buffer str_replace&#40;"location&#58;", "$img_location<font color=blue><b>&nbsp;Verzeichnis&#58;</b></font>",$buffer&#41;; 
   
if &#40;strstr&#40;$buffer,"STOR"&#41; || strstr&#40;$buffer,"RETR"&#41; || strstr&#40;$buffer,"idle"&#41; || strstr&#40;$buffer,"authenticating"&#41; || strstr&#40;$buffer,"DELE"&#41;&#41; 
   
&#123;
    
$pieces explode&#40;" ", $buffer&#41;; 
    
$PID $pieces[0&#93;;
    
$username $pieces[1&#93;;
    
if &#40;$_GET["kill_pid"&#93; == $PID&#41;
    
&#123;
     
$buffer str_replace&#40;"$PID", "$img_pid<font color=red><b>&nbsp;Versuche den Prozess $PID zu t&ouml;ten...</font></b><BR>",$buffer&#41;; 
    
&#125;
    
else
    &
#123;
     
$buffer str_replace&#40;"$PID", "$img_pid<font color=blue><b>&nbsp;Prozess-ID&#58;</b></font>&nbsp;<a onmouseover=\"self.status='Prozess töten'; return true;\" href=\"?kill_pid=$PID&amp;cs=".&#40;md5&#40;date&#40;"h&#58;i&#58;$PID"&#41;&#41;&#41;."\"><font color=\"#000000\">$PID</FONT></a><BR>",$buffer&#41;; 
    
&#125;   
     
$buffer str_replace&#40;"$username", "$img_user<font color=blue><b>&nbsp;Loginname&#58;</b></font>&nbsp;$username<BR>$img_status<font color=blue><b>&nbsp;Status&#58;</b></font>",$buffer&#41;; 
     
$buffer "".$buffer
&#125;
    
$buffer str_replace&#40;"RETR", "<font color=red><b>$RETR</b></font>",$buffer&#41;; 
    
$buffer str_replace&#40;"idle", "<font color=green><b>$idle</b></font>",$buffer&#41;; 
    
$buffer str_replace&#40;"STOR", "<font color=red><b>$STOR</b></font>",$buffer&#41;; 
    
$buffer str_replace&#40;"authenticating", "<font color=brown><b>$auth</b></font>",$buffer&#41;; 
    
$buffer str_replace&#40;"no users connected", "<font color=green><b>$nouser</b></font>",$buffer&#41;; 
    
if &#40;strstr&#40;$buffer,"$STOR"&#41; || strstr&#40;$buffer,"$RETR"&#41; || strstr&#40;$buffer,"$idle"&#41; || strstr&#40;$buffer,"$nouser"&#41; || strstr&#40;$buffer,"$auth"&#41;&#41; 
     
&#123; 
      
$content .= "<b><nobr>".$buffer."</nobr></b>"
     &
#125; 
    
elseif &#40;strstr&#40;$buffer,"users"&#41;&#41; 
     
&#123; 
      
$content .= "<nobr><font color=\"#4040ff\"><B>".$buffer."</B></font></nobr>"
     &
#125; 
    
else 
     &
#123; 
      
$content .= "<nobr><font color=\"#404040\">".$buffer."</font></nobr>"
     &
#125; 
   
&#125;
  
$content .= "</FONT>\n"
  
fclose &#40;$handle&#41;; 
  
$content .= "<HR>"
  
unlink&#40;"$tempfile"&#41;; 
&#125; 

if &#40;isset&#40;$_GET["kill_pid"&#93;&#41;&#41; 
&#123; 
  
if &#40;&#40;md5&#40;date&#40;"h&#58;i&#58;".$_GET["kill_pid"&#93;&#41;&#41;&#41; === $_GET["cs"&#93;&#41;
  
&#123;
    
$command  shell_exec&#40;"$killbefehl ".intval&#40;$_GET["kill_pid"&#93;&#41;&#41;; 
    
$refresh  10;
    
$msg "<CENTER><b><FONT face=\"arial\" color=\"#c00000\">Bitte warten...</FONT></b><BR></CENTER>";
  &
#125;
  
else
  &
#123;
    
$msg "<b><FONT face=\"arial\" color=\"#c00000\">Ung&uuml;ltiger Aufruf...</FONT></b><BR>";
  &
#125;
&#125;

$body  "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n"
$body .= " <HTML>\n"
$body .= " <HEAD>\n"
$body .= "  <META http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\">\n"
if &
#40;$do_refresh == true &#41; $body .= "  <META HTTP-EQUIV=Refresh CONTENT=\"$refresh; URL=http&#58;//".$_SERVER["HTTP_HOST"&#93;.$_SERVER["PHP_SELF"&#93;."\">\n"; 
$body .= "  <TITLE>$title</TITLE>\n"
$body .= " </HEAD>\n"
$body .= "  <BODY onload=\"window.defaultStatus='".$title."';\">\n"
$body .= "   <A href=\"http&#58;//".$_SERVER["HTTP_HOST"&#93;.$_SERVER["PHP_SELF"&#93;.$start_stop."\"><FONT face=\"$font\" size=\"-2\">$button</FONT></A>\n"; 
$body .= "   <BR>\n"
$body .= "   <FONT face=\"$font\"><BIG>$headline<BIG></FONT>\n"
$body .= "   $msg\n"
$body .= "   <BR>\n"
$body .= "   ".$content."<BR>\n"
$body .= "  </BODY>\n"
$body .= " </HTML>\n"

echo 
$body
### ENDE ### 
?>
Gespeichert
Wörsty
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 1602


50772603
Profil anzeigen WWW E-Mail
« Antwort #17 am: 21. September 2003, 00:06:11 »

Dass man aber auch immer vergißt sich anzumelden *kopfschüttel* :oops:
Gespeichert

RedHat 8.0 (2.4er Kernel)
proftpd 1.2.10
-mod_sql_mysql
-mow_wrap
-mod_exec
-mod_ifsession[/size]
Anonymous
Gast
« Antwort #18 am: 21. September 2003, 00:19:56 »

Ich hab dieses Script auf meinen FTP geladen und ich bekomme solgende Meldung zu sehen:

Warning: Cannot execute using backquotes in safe mode in /home/www/web1/html/_ftp/index.php on line 45

Warning: Unable to access ./ftp.online in /home/www/web1/html/_ftp/index.php on line 46

Warning: fopen("./ftp.online", "r") - No such file or directory in /home/www/web1/html/_ftp/index.php on line 46


Was nun tun?
Gespeichert
Wörsty
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 1602


50772603
Profil anzeigen WWW E-Mail
« Antwort #19 am: 21. September 2003, 00:26:29 »

Probier mal mit dieser Zeile 45 in der index.php...
Code:
$command = shell_exec(/usr/local/bin/ftpwho -v > /tmp/ftp.online);

...und dieser 104...
Code:
 $command  = shell_exec(/bin/kill -9 intval($_GET["kill_pid"]));

...oder in die php.ini :?...
Code:
safe_mode_exec_dir=/home/www/web1/html/_ftp/

...oder safe_mode aus oder Google...
 :N8
Gespeichert

RedHat 8.0 (2.4er Kernel)
proftpd 1.2.10
-mod_sql_mysql
-mow_wrap
-mod_exec
-mod_ifsession[/size]
Joke17
ProFTPD
*
Offline Offline

Beiträge: 5

47419072
Profil anzeigen WWW
« Antwort #20 am: 21. September 2003, 01:56:46 »

schade schokolade...
die version läuft immernoch nicht auf meinem debian ProFTPD Version 1.2.5rc1.

sieht alles wunderbar aus und so hätte ich das auch gerne, aber kann mir einer sagen, woran das liegt?
die vorletzte version läuft bei mir astrein, aber alles was danach kommt nicht mehr.
die symbole werden garnicht angezeigt und die anordnung passt auch nicht so ganz.

wenn mir nur einer nen kleinen hinweis geben könnte, dann könnte ich den rest ja vielleicht selber tüdeln, aber so...

mfg
tImo
Gespeichert
Wörsty
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 1602


50772603
Profil anzeigen WWW E-Mail
« Antwort #21 am: 21. September 2003, 12:33:43 »

Hast du die 125er nich am Laufen gehabt?
Das Problem ist, dass 1.2.8 und 1.2.5 unterschiedliche Ausgaben von ftpwho -v machen.
Ich bastel mal eine 1.03 die mit 1.2.5 und 1.2.8 geht und poste die dann.
Solange mußt du die alte 125er nehmen
Gespeichert

RedHat 8.0 (2.4er Kernel)
proftpd 1.2.10
-mod_sql_mysql
-mow_wrap
-mod_exec
-mod_ifsession[/size]
Joke17
ProFTPD
*
Offline Offline

Beiträge: 5

47419072
Profil anzeigen WWW
« Antwort #22 am: 21. September 2003, 14:33:53 »

kewl, besten dank
Gespeichert
Anonymous
Gast
« Antwort #23 am: 21. September 2003, 15:20:37 »

Zitat von: "Wörsty"
Probier mal mit dieser Zeile 45 in der index.php...
Code:
$command = shell_exec(/usr/local/bin/ftpwho -v > /tmp/ftp.online);

...und dieser 104...
Code:
 $command  = shell_exec(/bin/kill -9 intval($_GET["kill_pid"]));

...oder in die php.ini :?...
Code:
safe_mode_exec_dir=/home/www/web1/html/_ftp/

...oder safe_mode aus oder Google...
 :N8

habe ich gemacht, aber leider immmernoch diese fehler...
Gespeichert
Anonymous
Gast
« Antwort #24 am: 22. September 2003, 00:51:32 »

Also ich benutze proftpd-1.2.9rc2.
geht das bei meinem nicht? muss ich eine andere Version aufspielen?
Gespeichert
Wörsty
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 1602


50772603
Profil anzeigen WWW E-Mail
« Antwort #25 am: 22. September 2003, 12:11:09 »

Zitat von: "Anonymous"
Also ich benutze proftpd-1.2.9rc2.
geht das bei meinem nicht? muss ich eine andere Version aufspielen?

Probier es - geht es - oder nicht?
Mein Testrechner ist noch nicht aufgebaut (Umzug...)
Gespeichert

RedHat 8.0 (2.4er Kernel)
proftpd 1.2.10
-mod_sql_mysql
-mow_wrap
-mod_exec
-mod_ifsession[/size]
T.Kuhmann
ProFTPD
*
Offline Offline

Beiträge: 27


Profil anzeigen WWW
« Antwort #26 am: 22. September 2003, 17:24:04 »

also ich benutze auch den proftpd-1.2.9rc2
und das script geht
nur mit der PID habe ich probleme aber das sollte ich gelöst bekommen
Gespeichert
Anonymous
Gast
« Antwort #27 am: 22. September 2003, 18:58:00 »

Benutze den selbe wie Du, aber bei mir kommt folgendes:

Warning: Cannot execute using backquotes in safe mode in /home/www/web1/html/_ftp/index.php on line 45
Warning: Unable to access ./ftp.online in /home/www/web1/html/_ftp/index.php on line 46
Warning: fopen("./ftp.online", "r") - No such file or directory in /home/www/web1/html/_ftp/index.php on line 46
Gespeichert
T.Kuhmann
ProFTPD
*
Offline Offline

Beiträge: 27


Profil anzeigen WWW
« Antwort #28 am: 22. September 2003, 19:07:04 »

so also ich kann das alles nur vermuten und will mich nich 100 % festlegen
ich denke mal das problem is das er kein thempfile anlegen kann

$command = shell_exec("$befehl > $tempfile");
$handle  = fopen ("$tempfile", "r");
if ($handle)

und oben in der config steht
$tempfile     = "/tmp/ftp.online";          # Temporäre Datei
hast du das verzeichnis?
wenn nich muss dir das machen ich denke mal dann sollte es gehen
Gespeichert
Anonymous
Gast
« Antwort #29 am: 22. September 2003, 19:18:23 »

ja, ich hab ein verzeichnis tmp angelegt und ihm chmod revhte 777 gegeben, also alle rechte.
trotzdem funktioniert es nicht.
Welche version des scriptes benutzt du?
Gespeichert
Seiten: 1 [2] 3 4 ... 7   Nach oben
  Drucken  
 
Gehe zu:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.2 | SMF © 2006-2007, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS
Seite erstellt in 0.083 Sekunden mit 16 Zugriffen.