您可以使用set_transient
将临时数据写入数据库get_transient
将值读回。这会将数据保留在服务器上,并在请求之间可用。有点像nonce
. 请记住,当您拥有大量用户时,向数据库中写入数据可能会造成问题。
如果要将散列数据从PHP传递到Javascript,可以使用Hashids -- 假设您的数据是数字正数。
PHP
$hashids = new Hashids\\Hashids(\'this is my salt\');
$id = $hashids->encode(1, 2, 3);
$numbers = $hashids->decode($id);
JavaScript
var hashids = new Hashids("this is my salt"),
id = hashids.encode(1, 2, 3),
numbers = hashids.decode(id);
如果您在JavaScript中的任何地方解码,那么可能会有人获得salt,因此最好只将其用于传输数据。
如果你想要一些随机的盐,有一个online generator 或使用wp_salt()
. 你也可以看看wp_create_nonce()
通过将登录用户的ID添加到salt中来工作。
备选方案-某些站点warn 反对使用MD5 而其他人则显示哈希openssl.