nas_docker_compose/kodbox/site/app/kod/HttpAuth.class.php
2024-08-31 01:03:37 +08:00

36 lines
1.1 KiB
PHP
Executable File

<?php
class HttpAuth {
public static function get() {
$user = '';
$password = '';
//Apache服务器
if (isset($_SERVER['PHP_AUTH_USER'])) {
$user = $_SERVER['PHP_AUTH_USER'];
$password = $_SERVER['PHP_AUTH_PW'];
} elseif (isset($_SERVER['HTTP_AUTHORIZATION'])) {
//其他服务器如 Nginx Authorization
$httpAuth = $_SERVER['HTTP_AUTHORIZATION'];
if (strpos(strtolower($httpAuth), 'basic') === 0) {
$auth = explode(':', base64_decode(substr($httpAuth, 6)));
$user = isset($auth[0])?$auth[0]:'';
$password = isset($auth[1])?$auth[1]:0;
}
}
return array('user'=>$user, 'pass'=>$password);
}
public static function error() {
//pr_trace();exit;
header('WWW-Authenticate: Basic realm="kodcloud"');
header('HTTP/1.0 401 Unauthorized');
header('Pragma: no-cache');
header('Cache-Control: no-cache');
header('Content-Length: 0');
exit;
}
public static function make($user,$pass){
return "Authorization: Basic " . base64_encode($user.':'.$pass);
}
}