move the CSRF Function to global function for easy access

This commit is contained in:
Focuslinkstech
2024-10-09 17:05:23 +01:00
committed by Ibnu Maksum
parent 96365eef2a
commit bd30261e84
2 changed files with 30 additions and 32 deletions

30
system/autoload/Csrf.php Normal file
View File

@ -0,0 +1,30 @@
<?php
/**
* PHP Mikrotik Billing (https://github.com/hotspotbilling/phpnuxbill/)
* by https://t.me/ibnux
**/
class Csrf {
public static function generateToken($length = 16) {
return bin2hex(random_bytes($length));
}
public static function validateToken($token, $storedToken) {
return hash_equals($token, $storedToken);
}
public static function check($token) {
if (isset($_SESSION['csrf_token']) && isset($token)) {
return self::validateToken($token, $_SESSION['csrf_token']);
}
return false;
}
public static function generateAndStoreToken() {
$token = self::generateToken();
$_SESSION['csrf_token'] = $token;
return $token;
}
}