2013-03-13 120 views
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點到期,這太短了。

這樣做的最好方法是什麼? (理想)鍵應該是...

  • 動態 - 它應該有點頻繁地改變。
  • 輕量級 - 只能檢查密鑰才能花費大量資源。
  • 很難破解/模擬。

您有什麼建議?

回答

0

1次使用散列,存儲當前用戶的會話呢?