Вход Регистрация
Файл: vendor/laravel/framework/src/Illuminate/Foundation/Http/MaintenanceModeBypassCookie.php
Строк: 63
<?php

namespace IlluminateFoundationHttp;

use 
IlluminateSupportCarbon;
use 
SymfonyComponentHttpFoundationCookie;

class 
MaintenanceModeBypassCookie
{
    
/**
     * Create a new maintenance mode bypass cookie.
     *
     * @param  string  $key
     * @return SymfonyComponentHttpFoundationCookie
     */
    
public static function create(string $key)
    {
        
$expiresAt Carbon::now()->addHours(12);

        return new 
Cookie('laravel_maintenance'base64_encode(json_encode([
            
'expires_at' => $expiresAt->getTimestamp(),
            
'mac' => hash_hmac('sha256'$expiresAt->getTimestamp(), $key),
        ])), 
$expiresAtconfig('session.path'), config('session.domain'));
    }

    
/**
     * Determine if the given maintenance mode bypass cookie is valid.
     *
     * @param  string  $cookie
     * @param  string  $key
     * @return bool
     */
    
public static function isValid(string $cookiestring $key)
    {
        
$payload json_decode(base64_decode($cookie), true);

        return 
is_array($payload) &&
            
is_numeric($payload['expires_at'] ?? null) &&
            isset(
$payload['mac']) &&
            
hash_equals(hash_hmac('sha256'$payload['expires_at'], $key), $payload['mac']) &&
            (int) 
$payload['expires_at'] >= Carbon::now()->getTimestamp();
    }
}
Онлайн: 1
Реклама