不要
This commit is contained in:
64
util.php
64
util.php
@@ -178,47 +178,45 @@ function assert_unless_success(Result $assertion, Throwable|string|null $descrip
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (AUTH_ENABLED) {
|
function getcookie(string $name): string|null {
|
||||||
function getcookie(string $name): string|null {
|
return $_COOKIE[$name] ?? null;
|
||||||
return $_COOKIE[$name] ?? null;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
function namecolor(\stdClass $userData): string {
|
function namecolor(\stdClass $userData): string {
|
||||||
$ban = "#888888";
|
$ban = "#888888";
|
||||||
$male = "#97ACEF";
|
$male = "#97ACEF";
|
||||||
$female = "#F185C9";
|
$female = "#F185C9";
|
||||||
$ungender = "#7C60B0";
|
$ungender = "#7C60B0";
|
||||||
|
|
||||||
$gender = 'color: '.($userData->gender === 0 ? $male : ($userData->gender === 1 ? $female : $ungender)).';';
|
$gender = 'color: '.($userData->gender === 0 ? $male : ($userData->gender === 1 ? $female : $ungender)).';';
|
||||||
$style = $userData->namecolor ?: ($userData->role >= 0 ? $gender : $ban);
|
$style = $userData->namecolor ?: ($userData->role >= 0 ? $gender : $ban);
|
||||||
|
|
||||||
$showname = $userData->displayname ?: $userData->username;
|
$showname = $userData->displayname ?: $userData->username;
|
||||||
|
|
||||||
$color = "<span style=\"{$style}\">{$showname}</span>";
|
$color = "<span style=\"{$style}\">{$showname}</span>";
|
||||||
if ($userData->role === 1) $color .= "<span style=\"font-size: x-small; background: #10c074; border: 1px solid #fcfcfc; border-radius: 10px; padding: 0 0.5em;\">✓</span>";
|
if ($userData->role === 1) $color .= "<span style=\"font-size: x-small; background: #10c074; border: 1px solid #fcfcfc; border-radius: 10px; padding: 0 0.5em;\">✓</span>";
|
||||||
|
|
||||||
$suffix = $userData->gender === 0 ? 'くん' : ($userData->gender === 1 ? 'ちゃん' : 'さん');
|
$suffix = $userData->gender === 0 ? 'くん' : ($userData->gender === 1 ? 'ちゃん' : 'さん');
|
||||||
|
|
||||||
return $color.$suffix;
|
return $color.$suffix;
|
||||||
}
|
}
|
||||||
|
|
||||||
function make_csrf_token(?bool $force = false): string {
|
function make_csrf_token(?bool $force = false): string {
|
||||||
if (null !== getcookie('csrf_token') && !$force) return getcookie('csrf_token');
|
if (null !== getcookie('csrf_token') && !$force) return getcookie('csrf_token');
|
||||||
$token = bin2hex(random_bytes(32));
|
$token = bin2hex(random_bytes(32));
|
||||||
setcookie('csrf_token', $token, [
|
setcookie('csrf_token', $token, [
|
||||||
'expires' => time() + 300, // 5分
|
'expires' => time() + 300, // 5分
|
||||||
'path' => '/',
|
'path' => '/',
|
||||||
'domain' => $_SERVER['SERVER_NAME'],
|
'domain' => $_SERVER['SERVER_NAME'],
|
||||||
'secure' => (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off'),
|
'secure' => (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off'),
|
||||||
'httponly' => true,
|
'httponly' => true,
|
||||||
'samesite' => 'Strict'
|
'samesite' => 'Strict'
|
||||||
]);
|
]);
|
||||||
return $token;
|
return $token;
|
||||||
}
|
}
|
||||||
|
|
||||||
function verify_csrf_token(string $token): bool {
|
function verify_csrf_token(string $token): bool {
|
||||||
return null !== getcookie('csrf_token') && hash_equals(getcookie('csrf_token'), $token);
|
return null !== getcookie('csrf_token') && hash_equals(getcookie('csrf_token'), $token);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function count_special_chars(string $str): int {
|
function count_special_chars(string $str): int {
|
||||||
|
|||||||
Reference in New Issue
Block a user