summaryrefslogtreecommitdiff
path: root/isup/ajax.php
diff options
context:
space:
mode:
Diffstat (limited to 'isup/ajax.php')
-rw-r--r--isup/ajax.php48
1 files changed, 48 insertions, 0 deletions
diff --git a/isup/ajax.php b/isup/ajax.php
new file mode 100644
index 0000000..3e21a20
--- /dev/null
+++ b/isup/ajax.php
@@ -0,0 +1,48 @@
+<?php
+
+if( !isset($_REQUEST["action"]) || $_REQUEST["action"] == "" ){
+ header($_SERVER["SERVER_PROTOCOL"] . " 400 Bad Request");
+ header("X-Debug: Please define a action.");
+ exit;
+}
+if( !isset($_REQUEST["url"]) || $_REQUEST["url"] == "" ){
+ header($_SERVER["SERVER_PROTOCOL"] . " 400 Bad Request");
+ header("X-Debug: Please define a valid host.");
+ exit;
+}
+
+function ipv6($host){
+
+ if ( filter_var($host, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) ) {
+ return true;
+ }
+
+ return false;
+}
+
+switch($_REQUEST["action"]){
+ case("ping"):
+ require 'ping.php';
+ if ( ping( sanitizeHost($_REQUEST["url"]), ipv6($_REQUEST["url"]) ) ){
+ echo "up";
+ } else {
+ echo "down";
+ }
+ break;
+ case("http"):
+ require 'http.php';
+ if ( !ipv6($_REQUEST["url"]) && filter_var(sanitizeUrl($_REQUEST["url"]), FILTER_VALIDATE_URL, FILTER_FLAG_HOST_REQUIRED) === false ){
+ echo "not valid";
+ } else {
+ if( isUp($_REQUEST["url"]) ){
+ echo "up";
+ } else {
+ echo "down";
+ }
+ }
+ break;
+ default:
+ header($_SERVER["SERVER_PROTOCOL"] . " 400 Bad Request");
+ header("X-Debug: Please define a valid action.");
+ break;
+}