csrf токен ошибка в генерации

169
23 февраля 2019, 14:00

Всем привет, написал небольшой код:

session_start();
    if(empty($_SESSION['token']) || !isset($_SESSION['token'])){
            $_SESSION['token'] = bin2hex(random_bytes(32));
    }
    if(isset($_POST['csrf_token'])){
        if (!hash_equals($_SESSION['token'], $_POST['csrf_token'])) {
            die();
        }
        else{
            $_SESSION['token'] = bin2hex(random_bytes(32));
        }
    }
    else{
        $_SESSION['token'] = bin2hex(random_bytes(32));
    }

но возникает проблема с последней проверкой, она даже если по условию не должна срабатывать, то всё равно почему то срабатывает и генерирует новое значение ( как так происходит я не знаю но почему то это именно так и работает ( звучит глупо ) ) хотел бы понять, в чём ошибка и нужно ли вообще генерировать токен каждый раз при обновлении страницы или нужно генерировать после успешной/не успешной сверки токенов

READ ALSO
file_put_contents

file_put_contents

Подскажите пожалуйста, есть код который записывает все orderid из цикла в текстовый файл

143
Сокращенная надпись if

Сокращенная надпись if

Всем привет, есть такой вот код в PHP

171