diff --git a/htdocs/api/admin/explorer_withredoc.php b/htdocs/api/admin/explorer_withredoc.php
index 08711abede2..45dd31d57c9 100644
--- a/htdocs/api/admin/explorer_withredoc.php
+++ b/htdocs/api/admin/explorer_withredoc.php
@@ -26,6 +26,38 @@
require_once '../../main.inc.php';
+// Enable and test if module Api is enabled
+if (empty($conf->global->MAIN_MODULE_API)) {
+ $langs->load("admin");
+ dol_syslog("Call of Dolibarr API interfaces with module API REST are disabled");
+ print $langs->trans("WarningModuleNotActive", 'Api').'.
';
+ print $langs->trans("ToActivateModule");
+ //session_destroy();
+ exit(0);
+}
+
+// Test if explorer is not disabled
+if (!empty($conf->global->API_EXPLORER_DISABLED)) {
+ $langs->load("admin");
+ dol_syslog("Call Dolibarr API interfaces with module REST disabled");
+ print $langs->trans("WarningAPIExplorerDisabled").'.
';
+ //session_destroy();
+ exit(0);
+}
+
+// Restrict API to some IPs
+if (!empty($conf->global->API_RESTRICT_ON_IP)) {
+ $allowedip = explode(' ', $conf->global->API_RESTRICT_ON_IP);
+ $ipremote = getUserRemoteIP();
+ if (!in_array($ipremote, $allowedip)) {
+ dol_syslog('Remote ip is '.$ipremote.', not into list '.$conf->global->API_RESTRICT_ON_IP);
+ print 'APIs are not allowed from the IP '.$ipremote;
+ header('HTTP/1.1 503 API not allowed from your IP '.$ipremote);
+ //session_destroy();
+ exit(0);
+ }
+}
+
?>
diff --git a/htdocs/api/index.php b/htdocs/api/index.php
index 880d3263aaa..89b5a696462 100644
--- a/htdocs/api/index.php
+++ b/htdocs/api/index.php
@@ -95,7 +95,7 @@ if (!empty($conf->global->MAIN_NGINX_FIX)) {
// Enable and test if module Api is enabled
if (empty($conf->global->MAIN_MODULE_API)) {
$langs->load("admin");
- dol_syslog("Call Dolibarr API interfaces with module REST disabled");
+ dol_syslog("Call of Dolibarr API interfaces with module API REST are disabled");
print $langs->trans("WarningModuleNotActive", 'Api').'.
';
print $langs->trans("ToActivateModule");
//session_destroy();