Class containing security related methods.
Protected constructor since this is a static class.
NULL
protected function __construct()
{
// Nothing here
}
Starts session if it doesn't exist.
NULL
protected static function sessionStart()
{
if(session_id() === '')
{
Session::start();
}
}
Returns random security token.
string
public static function generateToken()
{
static::sessionStart();
if(!isset($_SESSION[MAKO_APPLICATION_ID . '_token']))
{
$_SESSION[MAKO_APPLICATION_ID . '_token'] = array();
}
else
{
$_SESSION[MAKO_APPLICATION_ID . '_token'] = array_slice($_SESSION[MAKO_APPLICATION_ID . '_token'], 0, (static::MAX_TOKENS - 1)); // Only store MAX_TOKENS tokens per session
}
$token = md5(uniqid('token', true));
array_unshift($_SESSION[MAKO_APPLICATION_ID . '_token'], $token);
return $token;
}
Validates security token.
| Type | Description |
|---|---|
| string | Security token |
boolean
public static function validateToken($token)
{
static::sessionStart();
$key = array_search($token, $_SESSION[MAKO_APPLICATION_ID . '_token']);
if($key !== false)
{
unset($token, $_SESSION[MAKO_APPLICATION_ID . '_token'][$key]);
return true;
}
return false;
}