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點到期,這太短了。
這樣做的最好方法是什麼? (理想)鍵應該是...
- 動態 - 它應該有點頻繁地改變。
- 輕量級 - 只能檢查密鑰才能花費大量資源。
- 很難破解/模擬。
您有什麼建議?