Commit 70880168fbc20582037d128994c0c519dff6b14a
1 parent
47ef4864
Exists in
master
and in
110 other branches
Add rate limit only for Rest webservice, and also on GetOrbites and getDatasetData methods
Showing
5 changed files
with
97 additions
and
88 deletions
Show diff stats
php/classes/WebServer.php
@@ -6,8 +6,6 @@ | @@ -6,8 +6,6 @@ | ||
6 | * @version $Id: WebServer.php 2968 2015-06-29 13:17:00Z natacha $ | 6 | * @version $Id: WebServer.php 2968 2015-06-29 13:17:00Z natacha $ |
7 | */ | 7 | */ |
8 | 8 | ||
9 | -require_once '../config.php'; | ||
10 | - | ||
11 | class WebResultMgr | 9 | class WebResultMgr |
12 | { | 10 | { |
13 | private $resDOM; | 11 | private $resDOM; |
@@ -572,14 +570,6 @@ class WebServer | @@ -572,14 +570,6 @@ class WebServer | ||
572 | 570 | ||
573 | $vars = $res['vars']; | 571 | $vars = $res['vars']; |
574 | 572 | ||
575 | - if (!$vars["token"]) { | ||
576 | - return array('success' => false, 'message' => "E01\nAuthentication is required for this webservice."); | ||
577 | - } | ||
578 | - | ||
579 | - if($this->getNewToken()['token'] != $vars["token"]) { | ||
580 | - return array('success' => false, 'message' => "E02\nToken expired. Please authenticate again."); | ||
581 | - } | ||
582 | - | ||
583 | if ((strtotime($vars["stopTime"]) - strtotime($vars["startTime"])) < 0){ | 573 | if ((strtotime($vars["stopTime"]) - strtotime($vars["startTime"])) < 0){ |
584 | if ($this->isSoap) throw new SoapFault("request01","Start time must be higher than stop time"); | 574 | if ($this->isSoap) throw new SoapFault("request01","Start time must be higher than stop time"); |
585 | else return array('success' => false, 'message' => "Start time must be higher than stop time"); | 575 | else return array('success' => false, 'message' => "Start time must be higher than stop time"); |
php/rest/auth.php
1 | - | ||
2 | <?php | 1 | <?php |
3 | 2 | ||
4 | /** | 3 | /** |
5 | - * @file getParameter.php | ||
6 | - * @brief REST interface for service getParameter | 4 | + * @file getParameter.php |
5 | + * @brief REST interface for service getParameter | ||
7 | * | 6 | * |
8 | * | 7 | * |
9 | - * @version $Id: $ | 8 | + * @version $Id: $ |
10 | */ | 9 | */ |
11 | 10 | ||
12 | - require_once '../config.php'; | 11 | +require_once '../config.php'; |
13 | 12 | ||
14 | - $amda_ws = new WebServer(); | ||
15 | - $result = $amda_ws->getNewToken($_GET); | 13 | +$amda_ws = new WebServer(); |
14 | +$result = $amda_ws->getNewToken($_GET); | ||
16 | 15 | ||
17 | - if ($result['success']){ | ||
18 | - echo $result['token']; | ||
19 | - } | ||
20 | - else { | ||
21 | - echo $result['message']; | ||
22 | - } | 16 | +if ($result['success']) { |
17 | + echo $result['token']; | ||
18 | +} else { | ||
19 | + echo $result['message']; | ||
20 | +} | ||
23 | 21 | ||
24 | ?> | 22 | ?> |
25 | \ No newline at end of file | 23 | \ No newline at end of file |
php/rest/getDatasetData.php
1 | <?php | 1 | <?php |
2 | -/** | ||
3 | -* @file getParameter.php | ||
4 | -* @brief REST interface for service getParameter | ||
5 | -* | ||
6 | -* | ||
7 | -* @version $Id: $ | ||
8 | -*/ | ||
9 | - ini_set("allow_url_fopen", true); | ||
10 | - require_once '../config.php'; | ||
11 | - | ||
12 | - $amda_ws = new WebServer(); | ||
13 | - $result = $amda_ws->getDataset($_GET); | ||
14 | - | ||
15 | - if ($result['success']){ | ||
16 | - $file = str_replace("http://oberoi.cesr.fr/AMDA-WS/",BASE_PATH ,$result['dataFileURLs']); | ||
17 | - | ||
18 | - if ($file){ | 2 | +/** |
3 | + * @file getParameter.php | ||
4 | + * @brief REST interface for service getParameter | ||
5 | + * | ||
6 | + * | ||
7 | + * @version $Id: $ | ||
8 | + */ | ||
9 | +ini_set("allow_url_fopen", true); | ||
10 | +require_once '../config.php'; | ||
11 | + | ||
12 | +$amda_ws = new WebServer(); | ||
13 | + | ||
14 | +if (!$_GET["token"]) { | ||
15 | + return array('success' => false, 'message' => "E01\nAuthentication is required for this webservice."); | ||
16 | +} | ||
17 | +if ($amda_ws->getNewToken()['token'] != $_GET["token"]) { | ||
18 | + return array('success' => false, 'message' => "E02\nToken expired. Please authenticate again."); | ||
19 | +} | ||
20 | + | ||
21 | +$result = $amda_ws->getDataset($_GET); | ||
22 | + | ||
23 | +if ($result['success']) { | ||
24 | + $file = str_replace("http://oberoi.cesr.fr/AMDA-WS/", BASE_PATH, $result['dataFileURLs']); | ||
25 | + | ||
26 | + if ($file) { | ||
19 | // header('Content-type: text/xml'); | 27 | // header('Content-type: text/xml'); |
20 | // $contenu = file_get_contents($file); | 28 | // $contenu = file_get_contents($file); |
21 | // error_log($contenu,3,'/home/natacha/TMP/tmp.xml'); | 29 | // error_log($contenu,3,'/home/natacha/TMP/tmp.xml'); |
22 | // echo $contenu; | 30 | // echo $contenu; |
23 | - | ||
24 | -header('Content-type: text/xml'); | ||
25 | -$doc = new DOMDocument(); | ||
26 | -$doc->load($file); | ||
27 | -echo $doc->saveXML(); | ||
28 | - | ||
29 | - | ||
30 | - } | ||
31 | - } | ||
32 | - else { | ||
33 | - $success = "false"; | ||
34 | - echo '<?xml version="1.0" encoding="UTF-8"?><getParameterResponse>'; | ||
35 | - echo '<success>'.$success.'</success>'; | ||
36 | - echo '<message>'.$result['message'].'</message></getParameterResponse>'; | 31 | + |
32 | + header('Content-type: text/xml'); | ||
33 | + $doc = new DOMDocument(); | ||
34 | + $doc->load($file); | ||
35 | + echo $doc->saveXML(); | ||
36 | + | ||
37 | + | ||
37 | } | 38 | } |
39 | +} else { | ||
40 | + $success = "false"; | ||
41 | + echo '<?xml version="1.0" encoding="UTF-8"?><getParameterResponse>'; | ||
42 | + echo '<success>' . $success . '</success>'; | ||
43 | + echo '<message>' . $result['message'] . '</message></getParameterResponse>'; | ||
44 | +} | ||
38 | ?> | 45 | ?> |
php/rest/getOrbites.php
1 | <?php | 1 | <?php |
2 | - | ||
3 | -/** | ||
4 | -* @file getParameter.php | ||
5 | -* @brief REST interface for service getParameter | ||
6 | -* | ||
7 | -* | ||
8 | -* @version $Id: $ | ||
9 | -*/ | ||
10 | 2 | ||
11 | - require_once '../config.php'; | 3 | +/** |
4 | + * @file getParameter.php | ||
5 | + * @brief REST interface for service getParameter | ||
6 | + * | ||
7 | + * | ||
8 | + * @version $Id: $ | ||
9 | + */ | ||
12 | 10 | ||
13 | - $amda_ws = new WebServer(); | ||
14 | - $result = $amda_ws->getOrbites($_GET); | 11 | +require_once '../config.php'; |
15 | 12 | ||
16 | - if ($result['success']){ | ||
17 | - echo $result['dataFileURLs']; | ||
18 | - } | ||
19 | - else { | ||
20 | - echo $result['message']; | ||
21 | - } | 13 | +$amda_ws = new WebServer(); |
14 | + | ||
15 | +if (!$_GET["token"]) { | ||
16 | + return array('success' => false, 'message' => "E01\nAuthentication is required for this webservice."); | ||
17 | +} | ||
18 | +if ($amda_ws->getNewToken()['token'] != $_GET["token"]) { | ||
19 | + return array('success' => false, 'message' => "E02\nToken expired. Please authenticate again."); | ||
20 | +} | ||
21 | + | ||
22 | +$result = $amda_ws->getOrbites($_GET); | ||
23 | + | ||
24 | +if ($result['success']) { | ||
25 | + echo $result['dataFileURLs']; | ||
26 | +} else { | ||
27 | + echo $result['message']; | ||
28 | +} | ||
22 | 29 | ||
23 | ?> | 30 | ?> |
24 | \ No newline at end of file | 31 | \ No newline at end of file |
php/rest/getParameter.php
1 | <?php | 1 | <?php |
2 | - | ||
3 | -/** | ||
4 | -* @file getParameter.php | ||
5 | -* @brief REST interface for service getParameter | ||
6 | -* | ||
7 | -* | ||
8 | -* @version $Id: $ | ||
9 | -*/ | ||
10 | 2 | ||
11 | - require_once '../config.php'; | 3 | +/** |
4 | + * @file getParameter.php | ||
5 | + * @brief REST interface for service getParameter | ||
6 | + * | ||
7 | + * | ||
8 | + * @version $Id: $ | ||
9 | + */ | ||
12 | 10 | ||
13 | - $amda_ws = new WebServer(); | ||
14 | - $result = $amda_ws->getParameter($_GET); | 11 | +require_once '../config.php'; |
15 | 12 | ||
16 | - if ($result['success']){ | ||
17 | - echo $result['dataFileURLs']; | ||
18 | - } | ||
19 | - else { | ||
20 | - echo $result['message']; | ||
21 | - } | 13 | +$amda_ws = new WebServer(); |
14 | + | ||
15 | +if (!$_GET["token"]) { | ||
16 | + return array('success' => false, 'message' => "E01\nAuthentication is required for this webservice."); | ||
17 | +} | ||
18 | +if ($amda_ws->getNewToken()['token'] != $_GET["token"]) { | ||
19 | + return array('success' => false, 'message' => "E02\nToken expired. Please authenticate again."); | ||
20 | +} | ||
21 | + | ||
22 | +$result = $amda_ws->getParameter($_GET); | ||
23 | + | ||
24 | +if ($result['success']) { | ||
25 | + echo $result['dataFileURLs']; | ||
26 | +} else { | ||
27 | + echo $result['message']; | ||
28 | +} | ||
22 | 29 | ||
23 | ?> | 30 | ?> |
24 | \ No newline at end of file | 31 | \ No newline at end of file |