= 1 && strlen($ParameterAction) <= 11 && isset($ParameterActionServer) && strlen($ParameterActionServer) >= 8 && strlen($ParameterActionServer) <= 16 ) { writeStatusFieldHtmlPage($ParameterActionServer, $ParameterAction); exit(0); } elseif ( isset($ParameterActionServer) && strlen($ParameterActionServer) == 3 ){ if (strcasecmp($ParameterActionServer, "all") == 0) { writeStatusFieldHtmlPageAllServers($ParameterAction); exit(0); }; # if (strcasecmp($ParameterActionServer, "all") == 0) { } else { writeStartHtmlPage(); echo ""; exit(0); }; # if ( isset($ParameterAction) && strlen($ParameterAction) >= 1 && strlen($ParameterAction) =< 11 ) { exit(0); function writeStatusFieldHtmlPageAllServers( $ParameterAction ){ global $PhexRemoteControlServer; global $PhexRemoteControlPort; global $SecurityToken; writeStartHtmlPage(); echo "Information für alle Server"; foreach ( $PhexRemoteControlServer as $Server ) { $fp = fsockopen($Server, $PhexRemoteControlPort, $errno, $errstr, 3); if (!$fp) { echo "$Server -> $errstr ($errno) - SERVER DOWN!
\n"; SendSMS( "WARNING Server $Server - IS DOWN" ); } else { # if (!$fp) { # $RequestString = gzencode("$ParameterAction##$SecurityToken\r\n", 9); $RequestString = "$ParameterAction##$SecurityToken\r\n"; fwrite($fp, $RequestString . "\r\n"); stream_set_timeout($fp, 3); $ReturnString = ""; while (!feof($fp)) { $ReturnString .= fgets($fp, 128); }; # while (!feof($fp)) { $info = stream_get_meta_data($fp); if ($info['timed_out']) { echo '[$Server] Read/Write Connection timed out!'; }; # if ($info['timed_out']) { fclose($fp); $ReturnString = trim($ReturnString); if (strcasecmp("load", $ParameterAction) == 0) { list( $CurrentLoad, $OldLoad, $VeryOldLoad) = explode(" ", $ReturnString ); $ResultString = "
Aktueller Load   : $CurrentLoad
Load vor 5min   : $OldLoad
Load vor 20min : $VeryOldLoad"; } elseif (strcasecmp("restart", $ParameterAction) == 0) { list( $Status ) = explode("#", $ReturnString ); $ResultString = "
$Status"; } elseif (strcasecmp("memory", $ParameterAction) == 0) { list( $AllMem, $VirtMem, $UsedMem) = explode(" ", $ReturnString ); $ResultString = "
Server Gesamtspeicher    : $AllMem
Phex Virtueller Speicher   : $VirtMem
Phex physikaler Speicher  : $UsedMem"; } elseif (strcasecmp("uptime", $ParameterAction) == 0) { list( $CurrentDate, $UptimeSince, $UptimeFinal ) = explode(" ", $ReturnString ); $ResultString = "
Serverzeit     : $CurrentDate
Phex Online   : $UptimeSince
Phex Uptime  : seit $UptimeFinal"; } elseif (strcasecmp("status", $ParameterAction) == 0) { list( $Status ) = explode("#", $ReturnString ); $ResultString = "
$Status"; } elseif (strcasecmp("freemem", $ParameterAction) == 0) { list( $freemem,$freeswap ) = explode("#", $ReturnString ); $ResultString = "
Freier Hauptspeicher: $freemem MByte
Freier Swap:             $freeswap MByte"; }; # if (strcasecmp("load", $ParameterAction) == 0) { echo <<

$Server - $ParameterAction

$ResultString
END; }; # if (!$fp) { }; # foreach ( $PhexRemoteControlServer as $Server ) { echo ""; return 1; }; # function writeStatusFieldHtmlPageAllServers( $ParameterAction ){ function writeStatusFieldHtmlPage( $ParameterActionServer, $ParameterAction){ global $PhexRemoteControlServer; global $PhexRemoteControlPort; global $SecurityToken; $comma_separated_servers = implode(", ", $PhexRemoteControlServer); $fp = fsockopen($ParameterActionServer, $PhexRemoteControlPort, $errno, $errstr, 3); if (!$fp) { echo "

$ParameterActionServer -> $errstr ($errno) - SERVER DOWN!


\n"; SendSMS( "WARNING Server \n $ParameterActionServer \n - IS DOWN" ); } else { $RequestString = "$ParameterAction##$SecurityToken\r\n"; fwrite($fp, $RequestString . "\r\n"); stream_set_timeout($fp, 3); $ReturnString = ""; while (!feof($fp)) { $ReturnString .= fgets($fp, 128); }; # while (!feof($fp)) { $info = stream_get_meta_data($fp); if ($info['timed_out']) { echo '[$ParameterActionServer] Read/Write Connection timed out!'; }; # if ($info['timed_out']) { fclose($fp); $ReturnString = trim($ReturnString); if (strcasecmp("load", $ParameterAction) == 0) { list( $CurrentLoad, $OldLoad, $VeryOldLoad) = explode(" ", $ReturnString ); $ResultString = "
Aktueller Load   : $CurrentLoad
Load vor 5min   : $OldLoad
Load vor 20min : $VeryOldLoad"; } elseif (strcasecmp("restart", $ParameterAction) == 0) { list( $Status ) = explode("#", $ReturnString ); $ResultString = "
$Status"; } elseif (strcasecmp("memory", $ParameterAction) == 0) { list( $AllMem, $VirtMem, $UsedMem) = explode(" ", $ReturnString ); $ResultString = "
Server Gesamtspeicher    : $AllMem
Phex Virtueller Speicher   : $VirtMem
Phex physikaler Speicher  : $UsedMem"; } elseif (strcasecmp("uptime", $ParameterAction) == 0) { list( $CurrentDate, $UptimeSince, $UptimeFinal ) = explode(" ", $ReturnString ); $ResultString = "
Serverzeit     : $CurrentDate
Phex Online   : $UptimeSince
Phex Uptime  : seit $UptimeFinal"; } elseif (strcasecmp("status", $ParameterAction) == 0) { list( $Status ) = explode("#", $ReturnString ); $ResultString = "
$Status"; } elseif (strcasecmp("freemem", $ParameterAction) == 0) { list( $freemem,$freeswap ) = explode("#", $ReturnString ); $ResultString = "
Freier Hauptspeicher: $freemem MByte
Freier Swap:             $freeswap MByte"; }; # if (strcasecmp("load", $ParameterAction) == 0) { writeStartHtmlPage(); foreach ( $PhexRemoteControlServer as $Server ) { if (strcasecmp($Server, $ParameterActionServer) == 0) { echo <<

$Server - $ParameterAction

$ResultString
END; }; # if (strcasecmp($Server, $ParameterActionServer) == 0) { }; # foreach ( $PhexRemoteControlServer as $Server ) { }; # if (!$fp) { echo ""; return 1; }; # function writeStatusFieldHtmlPage($ParameterActionServer, $ParameterAction){ function writeStartHtmlPage(){ global $PhexRemoteControlServer; $comma_separated_servers = implode(", ", $PhexRemoteControlServer); $HtmlHeaders = writeHtmlHeaders(); echo <<
END; return 1; }; # function writeStartHtmlPage(){ function writeHtmlHeaders(){ global $Version; global $PhexRemoteControlServer; $comma_separated_servers = implode(", ", $PhexRemoteControlServer); $ReturnString=<< PhexRemoteControl

Service Alive Test - PhexRemoteControl for $comma_separated_servers

END; return $ReturnString; }; # function writeHtmlHeaders(){ function deleteSpecialChars($del_badchar) { if ( strlen($del_badchar) > 17 ) { # lösche alles nach dem 10sten zeichen bei überlangen eingaben $del_badchar = substr($del_badchar, 0, 17); }; $del_badchar = html_entity_decode($del_badchar); $del_badchar = str_replace("\"", "", $del_badchar); $del_badchar = str_replace("`", "", $del_badchar); $del_badchar = str_replace("'", "", $del_badchar); $del_badchar = str_replace("?", "", $del_badchar); $del_badchar = str_replace("%", "", $del_badchar); $del_badchar = str_replace("$", "", $del_badchar); $del_badchar = str_replace("§", "", $del_badchar); $del_badchar = str_replace("!", "", $del_badchar); $del_badchar = str_replace("&", "", $del_badchar); $del_badchar = str_replace("{", "", $del_badchar); $del_badchar = str_replace("}", "", $del_badchar); $del_badchar = str_replace("(", "", $del_badchar); $del_badchar = str_replace(")", "", $del_badchar); $del_badchar = str_replace("[", "", $del_badchar); $del_badchar = str_replace("]", "", $del_badchar); $del_badchar = str_replace("=", "", $del_badchar); $del_badchar = str_replace("\\", "", $del_badchar); $del_badchar = str_replace("\/", "", $del_badchar); $del_badchar = str_replace("#", "", $del_badchar); $del_badchar = str_replace(",", "", $del_badchar); $del_badchar = str_replace(";", "", $del_badchar); $del_badchar = str_replace("|", "", $del_badchar); $del_badchar = str_replace("<", "", $del_badchar); $del_badchar = str_replace(">", "", $del_badchar); $del_badchar = str_replace("/", "", $del_badchar); $del_badchar = str_replace("°", "", $del_badchar); $del_badchar = str_replace("^", "", $del_badchar); $del_badchar = str_replace("*", "", $del_badchar); $del_badchar = str_replace(",", "", $del_badchar); $del_badchar = str_replace("ß", "ss", $del_badchar); $del_badchar = str_replace("|", "", $del_badchar); $del_badchar = str_replace("=ß=", "ss", $del_badchar); $del_badchar = preg_replace("/\&+\#+(\d)+\;/", " ", $del_badchar); # entferne html entities /* Lösche gefährliche SQL-Commandos und versuche so SQL-Injection zu verhindern */ $del_badchar = str_ireplace("drop", "", $del_badchar); $del_badchar = str_ireplace("insert", "", $del_badchar); $del_badchar = str_ireplace("alter", "", $del_badchar); $del_badchar = str_ireplace("distinct", "", $del_badchar); $del_badchar = str_ireplace("flush", "", $del_badchar); $del_badchar = str_ireplace("union select", "", $del_badchar); $del_badchar = str_ireplace("select", "", $del_badchar); $del_badchar = str_ireplace("empty", "", $del_badchar); $del_badchar = str_ireplace("truncate", "", $del_badchar); $del_badchar = str_ireplace("update", "", $del_badchar); $del_badchar = str_ireplace("show tables", "", $del_badchar); $del_badchar = str_ireplace("exec", "", $del_badchar); $del_badchar = str_ireplace("system", "", $del_badchar); $del_badchar = str_ireplace("cmd", "", $del_badchar); $del_badchar = preg_replace("/drop/i", "", $del_badchar); $del_badchar = preg_replace("/insert/i", "", $del_badchar); $del_badchar = preg_replace("/alter/i", "", $del_badchar); $del_badchar = preg_replace("/distinct/i", "", $del_badchar); $del_badchar = preg_replace("/flush/i", "", $del_badchar); $del_badchar = preg_replace("/union select/i", "", $del_badchar); $del_badchar = preg_replace("/select/i", "", $del_badchar); $del_badchar = preg_replace("/empty/i", "", $del_badchar); $del_badchar = preg_replace("/truncate/i", "", $del_badchar); $del_badchar = preg_replace("/update/i", "", $del_badchar); $del_badchar = preg_replace("/show tables/i", "", $del_badchar); $del_badchar = preg_replace("/exec/i", "", $del_badchar); $del_badchar = preg_replace("/system/i", "", $del_badchar); $del_badchar = preg_replace("/cmd/i", "", $del_badchar); return $del_badchar; }; # function deleteSpecialChars($del_badchar) { ?>