Rev 4 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
2 | daniel-mar | 1 | <?php |
2 | |||
3 | /* |
||
4 | * php_clientchallenge |
||
6 | daniel-mar | 5 | * Copyright 2021-2022 Daniel Marschall, ViaThinkSoft |
2 | daniel-mar | 6 | * |
7 | * Licensed under the Apache License, Version 2.0 (the "License"); |
||
8 | * you may not use this file except in compliance with the License. |
||
9 | * You may obtain a copy of the License at |
||
10 | * |
||
11 | * http://www.apache.org/licenses/LICENSE-2.0 |
||
12 | * |
||
13 | * Unless required by applicable law or agreed to in writing, software |
||
14 | * distributed under the License is distributed on an "AS IS" BASIS, |
||
15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||
16 | * See the License for the specific language governing permissions and |
||
17 | * limitations under the License. |
||
18 | */ |
||
19 | |||
20 | if (file_exists(__DIR__ . '/../vendor/autoload.php')) { |
||
21 | require_once __DIR__ . '/../vendor/autoload.php'; |
||
22 | } |
||
23 | |||
24 | require_once __DIR__ . '/../ClientChallenge.class.php'; |
||
25 | |||
4 | daniel-mar | 26 | require_once __DIR__ . '/config.inc.php'; |
2 | daniel-mar | 27 | |
28 | if (isset($_REQUEST['action']) && ($_REQUEST['action'] === 'add_numbers')) { |
||
29 | |||
30 | // Check request field "vts_validation_result" for valid response of the Challenge |
||
4 | daniel-mar | 31 | try { |
6 | daniel-mar | 32 | if (!isset($_REQUEST['vts_validation_result'])) throw new \Exception('No challenge response found'); |
33 | $client_response = @json_decode($_REQUEST['vts_validation_result'], true); |
||
34 | \ViaThinkSoft\RateLimitingChallenge\ClientChallenge::checkValidation($client_response, MAX_TIME, VTS_CS_SERVER_SECRET); |
||
4 | daniel-mar | 35 | } catch (\Exception $e) { |
36 | $res = array("error" => $e->getMessage()); |
||
37 | header('Content-Type:application/json'); |
||
38 | die(json_encode($res)); |
||
39 | } |
||
2 | daniel-mar | 40 | |
41 | // Do your stuff here. Example: |
||
42 | $a = $_REQUEST['a']; |
||
43 | $b = $_REQUEST['b']; |
||
44 | |||
45 | $res = array("result" => ($a+$b)); |
||
46 | |||
47 | header('Content-Type:application/json'); |
||
48 | die(json_encode($res)); |
||
49 | } |