summaryrefslogtreecommitdiffstats
path: root/application/controllers
diff options
context:
space:
mode:
Diffstat (limited to 'application/controllers')
-rw-r--r--application/controllers/api.php7
1 files changed, 7 insertions, 0 deletions
diff --git a/application/controllers/api.php b/application/controllers/api.php
index 3297f0614..837f62e89 100644
--- a/application/controllers/api.php
+++ b/application/controllers/api.php
@@ -22,6 +22,13 @@ class Api extends MY_Controller {
$requested_version = $this->uri->segment(2);
$controller = $this->uri->segment(3);
$function = $this->uri->segment(4);
+
+ if (!preg_match("/^v([0-9]+)(.[0-9]+){0,2}$/", $requested_version)) {
+ throw new \exceptions\PublicApiException("api/invalid-version", "Invalid API version requested");
+ }
+
+ $requested_version = substr($requested_version, 1);
+
$major = intval(explode(".", $requested_version)[0]);
if (!preg_match("/^[a-zA-Z-_]+$/", $controller)) {