-
Notifications
You must be signed in to change notification settings - Fork 0
/
pinger.php
32 lines (22 loc) · 995 Bytes
/
pinger.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
#echo "ok\n";
#print_r($_GET);
$dir = '/var/cache/munin/vmss';
$host = sanitize($_GET['me']);
if (strlen($host) <1) exit("incorrect hostname '$host'\n");
$subj = sanitize($_GET['subject']);
if (strlen($subj) <1) exit("incorrect subject '$subj'\n");
$status = intval($_GET['status']);
echo "$host\t$subj\t$status\n";
if (is_dir("$dir/$subj") === false){
if (mkdir("$dir/$subj", 0777, true) !== true) exit("cannot create $dir/$subj\n"); #create dire
}
if (file_put_contents("$dir/$subj/$host", "$host $status\n") <3 ) exit("cannot write to $dir/$subj/$host\n"); #overwrite old file
echo "OK\n";
//==================================================
function sanitize($in){
$out = preg_replace ("/[^a-zA-Z0-9._-]/", '', $in);
$out = preg_replace("/^[\._-]/", '', $out); # those elements are nit allowed in the first place
$out = preg_replace("/[\._-]$/", '', $out); # those elements are nit allowed in the last place
return $out;
}