X-Git-Url: https://git.rvb.name/weathermon.git/blobdiff_plain/6f6f38ad845e089ef732873cfcf8e321d8cc1e38..6ea6c53480d7812ce5c3c44f89e6c079aa200b8a:/web/send.php?ds=inline diff --git a/web/send.php b/web/send.php index 60d21db..86286ef 100644 --- a/web/send.php +++ b/web/send.php @@ -1,28 +1,57 @@ $valid_ip_end || $valid_ip_start > $client_ip) { + $client_ip = $_SERVER["REMOTE_ADDR"]; + + if ((strpos($client_ip, "192.168.") === 0) || (strpos($client_ip, "10.8.") === 0) || (strpos($client_ip, "2001:470:6f:9d5:") === 0)) { + + + $local_net = True; + + } else { + + $local_net = False; + + } + + + + if (! $local_net) { header('HTTP/1.1 403 Forbidden'); echo "IP not in allowed range"; exit; } + $stype = $_REQUEST['stype']; $sid = $_REQUEST['sid']; $param = $_REQUEST['param']; $value = $_REQUEST['value']; + if (isset($_REQUEST['time'])) { + + $timestamp = "'".$_REQUEST['time']."'"; + + } else { + + $timestamp = 'NULL'; + + } + + + $connection = new mysqli($mysql_host, $mysql_user, $mysql_pwd, $mysql_schema, $mysql_port); if ($connection->connect_errno) { header('HTTP/1.1 500 Internal Server Error'); exit; } - $str = "CALL meteo.submit_value('".$stype."','".$sid."','".$param."',".$value.",NULL)"; + $str = "CALL meteo.submit_value('".$stype."','".$sid."','".$param."',".$value.",".$timestamp.")"; if (!$connection->query($str)) { header('HTTP/1.1 500 Internal Server Error'); + echo "$str\n"; + echo "Call Failed\n"; exit; } else { $connection->commit();