Я использую Phalcon PHP и хочу защитить свой API с помощью метода hmac, поэтому я возьму полезную нагрузку запроса и создам хеш со специальным заказом (клиент знает этот порядок):
$secret = 'my-secret'
$body = $this->request->getJsonRawBody(); // Get raw body data
// Build hmac payload with request parameters
$payload = $body->param2 . $body->param3 . $body->param1
// Generate hmac
$local_hash = hash_hmac('sha256', $payload, $secret);
Итак, у меня есть идея использовать метку времени или случайную строку.Например, клиент установил пользовательский заголовок в запросе (Header-Time: 1561106848
), тогда я могу использовать его внутри полезной нагрузки.Но это ничего не меняет, потому что если кто-то перехватывает запрос, он может просто выполнить его, и hmac сработает.
Есть ли что-то, что каждый раз генерирует новый hmac?