"; } // ----------------------------------------------- // Statusdatei inistialisieren: touch ('vm_state.php'); $fp = fopen ('vm_state.php', 'r+'); // Konnte die Datei nicht öffnen!: if (!is_resource ($fp)) { http_response_code(503); die (); } // Sperren der Datei fehlgeschlagen!: if (!flock ($fp, LOCK_EX)) { http_response_code(503); die (); } include("vm_state.php"); // ----------------------------------------------- // check Key: if(strcmp($_GET['key'], "$defined_key")) { $error_msg = $error_msg."Zugriff verweigert!"; } // ----------------------------------------------- // schreibe Status in Array: if(empty($error_msg)){ $vm_state[$_GET['vmname']] = $_GET['state']; } // ----------------------------------------------- // letzten Zugriff dokumentieren: $log["LOG: ".date("Y-m-d_H-i-s", time())] = "VM: ".$_GET['vmname']." / Status: ".$_GET['state']." / Key: ".$_GET['key']." / IP: ".$_SERVER['REMOTE_ADDR']; // ----------------------------------------------- // Daten speichern: fseek ($fp, 0, SEEK_SET); ftruncate ($fp, 0); $input = ""; fwrite($fp, $input); // ----------------------------------------------- // Datei freigeben flock ($fp, LOCK_UN); fclose($fp); // ----------------------------------------------- // Rückgabe: if(empty($error_msg)){ exit("Status notiert ..."); } else{ exit($error_msg); } ?>