diff --git a/config.default.php b/config.default.php
index 5c92950..13ce1ae 100644
--- a/config.default.php
+++ b/config.default.php
@@ -30,6 +30,12 @@
 //   Exemple: https://covid.fme.upc.edu/
 $conf['frontendUrl'] = '';
 
-// Valor del header Access-Control-Allow-Origin per les peticions a l'API.
-// Per defecte és el valor de la variable $conf['homeUrl']
-$conf['allowedOrigin'] = $conf['homeUrl'];
+// Llistat d'orígens permesos per interactuar amb l'API.
+//
+// NOTA: És important que els valors de l'array no acabin amb un "/" final.
+//   Exemple: ['https://covid.fme.upc.edu']
+$conf['allowedOrigins'] = [];
+
+// Ignorar la llista d'orígens permesos i permetre a qualsevol pàgina web
+// interactuar amb l'API
+$conf['allowAllOrigins'] = false;
diff --git a/inc/API.php b/inc/API.php
index a3607bb..b8aa454 100644
--- a/inc/API.php
+++ b/inc/API.php
@@ -50,13 +50,23 @@
     return $json;
   }
 
+  private static function setCORSHeaders() {
+    global $conf;
+    if ((isset($conf['allowAllOrigins']) && $conf['allowAllOrigins']) ||
+        (isset($conf['allowedOrigins']) &&
+        isset($_SERVER['HTTP_ORIGIN']) &&
+        in_array($_SERVER['HTTP_ORIGIN'], $conf['allowedOrigins']))) {
+      header('Access-Control-Allow-Origin: '.($_SERVER['HTTP_ORIGIN'] ?? '*'));
+      header('Access-Control-Allow-Credentials: true');
+    }
+  }
+
+
   public static function process($path) {
     global $conf;
 
     header('Content-Type: application/json');
-
-    if (isset($conf['allowedOrigin']) && !empty($conf['allowedOrigin']))
-      header('Access-Control-Allow-Origin: '.$conf['allowedOrigin']);
+    self::setCORSHeaders();
 
     $parts = explode('/', $path);
     $method = $parts[0] ?? '';
