Bump version number
[bookreader.git] / BookReaderIA / www / BookReaderAuth.php
1 <?
2 /*
3 Copyright(c)2011 Internet Archive. Software license AGPL version 3.
4
5 This file is part of BookReader.
6
7     BookReader is free software: you can redistribute it and/or modify
8     it under the terms of the GNU Affero General Public License as published by
9     the Free Software Foundation, either version 3 of the License, or
10     (at your option) any later version.
11
12     BookReader is distributed in the hope that it will be useful,
13     but WITHOUT ANY WARRANTY; without even the implied warranty of
14     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15     GNU Affero General Public License for more details.
16
17     You should have received a copy of the GNU Affero General Public License
18     along with BookReader.  If not, see <http://www.gnu.org/licenses/>.
19 */
20
21 $id = $_REQUEST['id'];
22 $uuid = $_REQUEST['uuid'];
23 $token = $_REQUEST['token'];
24 $bookPath = $_REQUEST['bookPath'];
25 $olHost = $_REQUEST['olHost'];
26
27 if (!preg_match('/^\d{10}-[0-9a-f]{32}$/', $token)) {
28     fatal();
29 }
30
31 //if (!preg_match('/^[0-9a-f]{32}$/', $uuid)) {
32 if (!preg_match('/^\S{1,128}$/', $uuid)) {
33     fatal();
34 }
35
36 if (!preg_match('/^[a-zA-Z0-9][a-zA-Z0-9\.\-_]{1,100}$/', $id)) {
37     fatal();
38 }
39
40 if (!preg_match("|^/stream/$id|", $bookPath)) {
41     fatal();
42 }
43
44 setcookie('br-loan-' . $id, $uuid, 0, '/', '.archive.org');
45 setcookie('loan-' . $id, $token, 0, '/', '.archive.org');
46 setcookie('ol-host', $olHost, 0, '/', '.archive.org');
47
48 header('Location: ' . $bookPath);
49
50 function fatal() {
51     echo "Malformed request.";
52     die(-1);
53 }
54 ?>