forked from seblucas/cops
-
Notifications
You must be signed in to change notification settings - Fork 1
/
config.php
36 lines (33 loc) · 1.39 KB
/
config.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
/**
* COPS (Calibre OPDS PHP Server) class file
*
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
* @author Sébastien Lucas <[email protected]>
*/
require_once dirname(__FILE__) . '/vendor/autoload.php';
require dirname(__FILE__) . '/config_default.php';
if (file_exists(dirname(__FILE__) . '/config_local.php') && (php_sapi_name() !== 'cli')) {
require dirname(__FILE__) . '/config_local.php';
}
$remote_user = array_key_exists('PHP_AUTH_USER', $_SERVER) ? $_SERVER['PHP_AUTH_USER'] : '';
// Clean username, only allow a-z, A-Z, 0-9, -_ chars
$remote_user = preg_replace( '/[^a-zA-Z0-9_-]/', '', $remote_user);
$user_config_file = 'config_local.' . $remote_user . '.php';
if (file_exists(dirname(__FILE__) . '/' . $user_config_file) && (php_sapi_name() !== 'cli')) {
require dirname(__FILE__) . '/' . $user_config_file;
}
if(!is_null($config['cops_basic_authentication']) &&
is_array($config['cops_basic_authentication']))
{
if (!isset($_SERVER['PHP_AUTH_USER']) ||
(isset($_SERVER['PHP_AUTH_USER']) &&
($_SERVER['PHP_AUTH_USER']!=$config['cops_basic_authentication']['username'] ||
$_SERVER['PHP_AUTH_PW'] != $config['cops_basic_authentication']['password'])))
{
header('WWW-Authenticate: Basic realm="COPS Authentication"');
header('HTTP/1.0 401 Unauthorized');
echo 'This site is password protected';
exit;
}
}