如何为 10 天后过期的 php 文件生成密钥。并且其他用户在密钥过期后无法执行 API



我想生成一个键,该密钥有效期为从生成的日期起10天。因此,拥有钥匙的任何人都可以运行API 10天。我希望这纯粹是在PHP中,并且不应使用会议或cookie。

我尝试将密钥和日期存储在TAB分类的文件中。但是我想要的东西也不需要文件进行存储。所有这些都可以仅使用PHP完成。

我希望任何具有密钥的人都可以将其传递为URI参数,例如http:www.example.com/key = abcdqwerty,此键应仅有效10天。

一种便宜的方法是md5日期并将其用作密钥。
然后验证过去10天的循环并将其制作MD5,看看它们是否匹配。

这意味着您不需要保存钥匙,并且对大多数用户来说都是安全的。
只有最书呆子的书呆子才能弄清楚钥匙是什么以及是否可以打破。

// Create key
$key = md5("2019-05-16");
//$key = "5b6ed05ac59c0cae26957e39aceaa204";
//Validate
for($i=0; $i <= 10; $i++){
    if($key == md5(date("Y-m-d", strtotime("-" . $i . " days")))){
        echo "valid";
    }
}

工作代码与一个有效的代码无效,请参见仅使用一个有效字符串的输出。
https://3v4l.org/is4ot

最新更新