0
我有一个API将URL传递到我的网络上的重定向页面。该网址看起来像这样:
http://mydomain.com/offers.php?country=US&offerID=5555
还有一些其他参数,但这是它的杰作。问题是用户正在滥用它并使用机器人创建自己的点击。我想创建一个密钥系统,强制用户使用来自API的链接,以免它被滥用。
事情是这样的:
api.php
<?php
$random_number=mt_rand(1,100);
$url="http://mydomain.com/offers.php?country=US&offerID=5555&key=".$random_number;
echo $url;
?>
offers.php
这显然是一个非常愚蠢的解决方案,因为它只是使用一个随机数......但希望你看到我想要完成的事情。
我的想法是按小时加密日期字符串,并用静态隐藏密钥加密。这会使关键每小时变化一次,并且对于欺骗者来说将更加困难。唯一的问题是,如果有人在9点59分得到了API的URL,它将在10点到期,这太短了。
这样做的最好方法是什么? (理想)键应该是...
- 动态 - 它应该有点频繁地改变。
- 轻量级 - 只能检查密钥才能花费大量资源。
- 很难破解/模拟。
您有什么建议?