From 1c356dbe871bf39c891a91ae023a6ba6556b1b83 Mon Sep 17 00:00:00 2001 From: Skylar Ittner Date: Fri, 5 Aug 2016 18:54:59 -0600 Subject: [PATCH] Tons of changes, enforce valid login for some API actions --- code2item.php | 4 +- database.mwb | Bin 0 -> 10598 bytes database.mwb.bak | Bin 0 -> 10744 bytes dbsettings.php | 2 +- geocaches.php | 78 ++++++++++++------------- getbadges.php | 2 + getstats.php | 3 + onlyloggedin.php | 9 +++ ping.php | 4 +- pinglogin.php | 10 +++- places.php | 105 +++++++++++++++++++++++++++++++-- required.php | 149 ++++++++++++++++++++++++----------------------- robots.txt | 1 + settings.php | 14 ++++- 14 files changed, 256 insertions(+), 125 deletions(-) create mode 100644 database.mwb create mode 100644 database.mwb.bak create mode 100644 onlyloggedin.php diff --git a/code2item.php b/code2item.php index a4abe2d..ab4fa67 100644 --- a/code2item.php +++ b/code2item.php @@ -1,2 +1,2 @@ -TdtCw6Y%@2c+m>gsN0x_V~1`;VEL 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 literal 0 HcmV?d00001 diff --git a/database.mwb.bak b/database.mwb.bak new file mode 100644 index 0000000000000000000000000000000000000000..18f19d07642948377c1398f95bf3f6591a18ab06 GIT binary patch literal 10744 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 literal 0 HcmV?d00001 diff --git a/dbsettings.php b/dbsettings.php index baf6e6d..d9b8ab3 100644 --- a/dbsettings.php +++ b/dbsettings.php @@ -7,4 +7,4 @@ $database = new medoo([ 'username' => 'c0terranquest', 'password' => 'qinkifTQ!OMY2', 'charset' => 'latin1' - ]); + ]); \ No newline at end of file diff --git a/geocaches.php b/geocaches.php index b1cbb42..a58fa6a 100644 --- a/geocaches.php +++ b/geocaches.php @@ -1,39 +1,39 @@ -results; - -$list = ""; -foreach ($caches as $val) { - $list .= $val . "|"; -} -echo file_get_contents($okapi . "services/caches/geocaches?consumer_key=" . GEOCACHE_KEY . "&cache_codes=" . rtrim($list, "|")); - +results; + +$list = ""; +foreach ($caches as $val) { + $list .= $val . "|"; +} +echo file_get_contents($okapi . "services/caches/geocaches?consumer_key=" . GEOCACHE_KEY . "&cache_codes=" . rtrim($list, "|")); + diff --git a/getbadges.php b/getbadges.php index a7533db..8356896 100644 --- a/getbadges.php +++ b/getbadges.php @@ -2,6 +2,8 @@ require 'required.php'; +require 'onlyloggedin.php'; + if (is_empty($VARS['user'])) { sendError("Missing data.", true); } diff --git a/getstats.php b/getstats.php index c89a127..5e0fe3b 100644 --- a/getstats.php +++ b/getstats.php @@ -2,6 +2,8 @@ require 'required.php'; +require 'onlyloggedin.php'; + if (is_empty($VARS['user'])) { sendError("Missing data.", true); } @@ -12,4 +14,5 @@ $stats = $database->select('players', ['level', 'energy', 'maxenergy', 'lastping $out = []; $out['status'] = 'OK'; $out['stats'] = $stats; +$out['stats']['lastping'] = 0; echo json_encode($out); \ No newline at end of file diff --git a/onlyloggedin.php b/onlyloggedin.php new file mode 100644 index 0000000..11f32f8 --- /dev/null +++ b/onlyloggedin.php @@ -0,0 +1,9 @@ +update('players', ['latitude' => $VARS['lat'], 'longitude' => $VARS['long'], '#lastping' => 'NOW()'], ['uuid' => $uuid]); diff --git a/pinglogin.php b/pinglogin.php index 6d211c0..4c206fc 100644 --- a/pinglogin.php +++ b/pinglogin.php @@ -8,6 +8,10 @@ if (is_empty($VARS['user'])) { $guid = file_get_contents("https://sso.netsyms.com/api/getguid.php?user=" . $VARS['user']); +if (is_empty($guid)) { + sendError("Account does not exist.", true); +} + if ($database->has('players', ['uuid' => $guid])) { sendOK(); } else { @@ -25,4 +29,8 @@ if ($database->has('players', ['uuid' => $guid])) { $email = file_get_contents("https://sso.netsyms.com/api/getemail.php?user=" . $VARS['user']); mail($email, "Account Update", $message, $headers); -} \ No newline at end of file +} +// Setup the session +$_SESSION['username'] = $VARS['user']; +$_SESSION['guid'] = $_SESSION['uuid'] = $guid; +$_SESSION['loggedin'] = true; diff --git a/places.php b/places.php index fb9e0c3..2420c64 100644 --- a/places.php +++ b/places.php @@ -1,8 +1,105 @@ PDB_TYPE, + 'database_name' => PDB_NAME, + 'server' => PDB_SERVER, + 'username' => PDB_USER, + 'password' => PDB_PASS, + 'charset' => PDB_CHARSET + ]); +} catch (Exception $ex) { + header('HTTP/1.1 500 Internal Server Error'); + sendError('Location database error. Try again later.', true); +} + +use AnthonyMartin\GeoLocation\GeoLocation as GeoLocation; + +if (is_empty($VARS['lat'])) { + sendError("Missing required latitude (lat) variable.", true); +} + +if (is_empty($VARS['long'])) { + sendError("Missing required longitude (long) variable.", true); +} + +if (!preg_match('/-?[0-9]{1,3}\.[0-9]{1,}/', $VARS['lat'])) { + sendError("Latitude (lat) is in the wrong format, or does not have enough precision (DD.DD, at least 2 decimal places.", true); +} + +if (!preg_match('/-?[0-9]{1,3}\.[0-9]{1,}/', $VARS['long'])) { + sendError("Longitude (long) is in the wrong format, or does not have enough precision (DD.DD, at least 2 decimal places.", true); +} + +$lat = number_format((float) $VARS['lat'], 5, '.', ''); +$long = number_format((float) $VARS['long'], 5, '.', ''); + +$radius = 5; +if (!is_empty($VARS['radius']) && is_numeric($VARS['radius'])) { + $radius = floatval($VARS['radius']); +} + +$userlocation = GeoLocation::fromDegrees($VARS['lat'], $VARS['long']); +$searchbounds = $userlocation->boundingCoordinates($radius, 'miles'); + +if (is_empty($VARS['names'])) { + $places = $placebase->select('places', '*', ['AND' => [ + 'latitude[>]' => $searchbounds[0]->getLatitudeInDegrees(), + 'latitude[<]' => $searchbounds[1]->getLatitudeInDegrees(), + 'longitude[>]' => $searchbounds[0]->getLongitudeInDegrees(), + 'longitude[<]' => $searchbounds[1]->getLongitudeInDegrees()], + "LIMIT" => 100 + ]); +} else { + $places = $placebase->select('places', '*', ['AND' => [ + 'latitude[>]' => $searchbounds[0]->getLatitudeInDegrees(), + 'latitude[<]' => $searchbounds[1]->getLatitudeInDegrees(), + 'longitude[>]' => $searchbounds[0]->getLongitudeInDegrees(), + 'longitude[<]' => $searchbounds[1]->getLongitudeInDegrees(), + 'name[!]' => ''], + "LIMIT" => 100 + ]); +} + + + +$data['status'] = 'OK'; +$data['places'] = $places; +header('Content-Type: application/json'); +$geo['name'] = "Places"; +$geo['type'] = 'FeatureCollection'; +$geo['features'] = []; +foreach ($places as $place) { + if (!$database->has('locations', ['osmid' => $place['osmid']])) { + $database->insert('locations', ['osmid' => $place['osmid'], 'teamid' => 0]); + } + $gameinfo = $database->select('locations', ['teamid', 'owneruuid'], ['osmid' => $place['osmid']])[0]; + $geo['features'][] = array("type" => "Feature", + "geometry" => [ + "type" => "Point", + "coordinates" => [ + floatval($place['longitude']), + floatval($place['latitude']) + ] + ], + "properties" => [ + "osm_id" => intval($place['osmid']), + "name" => ($place['name'] == '' ? null : $place['name']), + "name:en" => ($place['name'] == '' ? null : $place['name']), + "amenity" => ($place['amenity'] == '' ? null : $place['amenity']), + "historic" => ($place['historic'] == '' ? null : $place['historic']), + "tourism" => ($place['tourism'] == '' ? null : $place['tourism']), + "gameinfo" => ['teamid' => $gameinfo['teamid'], 'owneruuid' => $gameinfo['owneruuid']] + ] + ); +} +echo json_encode($geo); \ No newline at end of file diff --git a/required.php b/required.php index 058653b..dc88e5c 100644 --- a/required.php +++ b/required.php @@ -1,74 +1,75 @@ - DB_TYPE, - 'database_name' => DB_NAME, - 'server' => DB_SERVER, - 'username' => DB_USER, - 'password' => DB_PASS, - 'charset' => DB_CHARSET - ]); -} catch (Exception $ex) { - header('HTTP/1.1 500 Internal Server Error'); - sendError('Database error. Try again later.', true); -} - -// Show errors and stuff? -define("DEBUG", false); - -// Use POST instead of GET? -if (!is_empty($_GET['post']) && $_GET['post'] == '1') { - define("GET", false); -} else { - define("GET", true); -} - - -if (!DEBUG) { - error_reporting(0); -} else { - error_reporting(E_ALL); - ini_set('display_errors', 'On'); -} -$VARS; -if (GET) { - $VARS = $_GET; -} else { - $VARS = $_POST; -} - -/** - * Checks if a string or whatever is empty. - * @param $str The thingy to check - * @return boolean True if it's empty or whatever. - */ -function is_empty($str) { - return (!isset($str) || $str == '' || $str == null); -} + DB_TYPE, + 'database_name' => DB_NAME, + 'server' => DB_SERVER, + 'username' => DB_USER, + 'password' => DB_PASS, + 'charset' => DB_CHARSET + ]); +} catch (Exception $ex) { + header('HTTP/1.1 500 Internal Server Error'); + sendError('Database error. Try again later.', true); +} + +// Show errors and stuff? +define("DEBUG", false); + +// Use POST instead of GET? +if (!is_empty($_GET['post']) && $_GET['post'] == '1') { + define("GET", false); +} else { + define("GET", true); +} + + +if (!DEBUG) { + error_reporting(0); +} else { + error_reporting(E_ALL); + ini_set('display_errors', 'On'); +} +$VARS; +if (GET) { + $VARS = $_GET; +} else { + $VARS = $_POST; +} + +/** + * Checks if a string or whatever is empty. + * @param $str The thingy to check + * @return boolean True if it's empty or whatever. + */ +function is_empty($str) { + return (!isset($str) || $str == '' || $str == null); +} diff --git a/robots.txt b/robots.txt index 7d329b1..1f53798 100644 --- a/robots.txt +++ b/robots.txt @@ -1 +1,2 @@ User-agent: * +Disallow: / diff --git a/settings.php b/settings.php index 8252388..607bc87 100644 --- a/settings.php +++ b/settings.php @@ -2,9 +2,17 @@ define("DB_TYPE", "mysql"); -define("DB_NAME", "c0terranquest"); +define("DB_NAME", "gs-terranquest"); define("DB_SERVER", "localhost"); -define("DB_USER", "c0terranquest"); -define("DB_PASS", "qinkifTQ!OMY2"); +define("DB_USER", "terranquest"); +define("DB_PASS", ""); define("DB_CHARSET", "latin1"); + +define("PDB_TYPE", "mysql"); +define("PDB_NAME", "c0places"); +define("PDB_SERVER", "earth.apis.netsyms.net"); +define("PDB_USER", "c0terranquestgs"); +define("PDB_PASS", "sTcGg3@3"); +define("PDB_CHARSET", "latin1"); + define("GEOCACHE_KEY", "z6BxjV5ssS7DYrzfF7pw");