Создайте разные hmac для одного и того же запроса - PullRequest
0 голосов
/ 21 июня 2019

Я использую 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?

...