使用哈希防止POST数据操作

时间:2016-01-11 21:35:55

标签: php forms validation hash

我将使用哈希值保护用户在论坛中输入的数据。我引用了以下内容:

$hex = bin2hex(random_bytes(32));
$split = str_split($hex, 2);
array_unshift($split, '');

$secret = implode('\\x', $split), "\n";
$id = 12345;
$hash = hash_hmac('sha256', $id, $secret);

来源:https://158.69.225.137/

然后声明此哈希值可以与URL中的ID一起传递,并且可以在不同的PHP脚本中进行验证:

$secret = 'hash';
$id = $_REQUEST["id"]; //in this case the value is 12345
if (hash_equals(hash_hmac('sha256', $id, $secret), $_REQUEST["hash"])) {
  //no tampering detected, proceed with other processing
} else {
  //tampering of data detected
}

但是,他们如何将$secret变量传递给不同的PHP脚本?我假设将它添加到URL会完全失去保护的目的。

0 个答案:

没有答案