1
0
mirror of https://github.com/billz/raspap-webgui.git synced 2025-07-13 22:57:40 +02:00
RaspAP/includes/CSRF.php
2025-03-25 13:58:52 -07:00

43 lines
929 B
PHP

<?php
namespace RaspAP\Tokens;
class CSRF
{
protected static ?CSRFTokenizer $instance = null;
protected static function getInstance(): CSRFTokenizer
{
if (self::$instance === null) {
self::$instance = new CSRFTokenizer();
}
return self::$instance;
}
public static function token(): string
{
return self::instance()->getToken();
}
public static function verify(): bool
{
return self::instance()->csrfValidateRequest() && self::instance()->CSRFValidate($_POST['csrf_token'] ?? '');
}
public static function metaTag(): string
{
return self::getInstance()->CSRFMetaTag();
}
public static function hiddenField(): string
{
return self::getInstance()->CSRFTokenFieldTag();
}
public static function handleInvalidToken(): void
{
self::instance()->handleInvalidCSRFToken();
}
}