2017-03-15 110 views
-2

我有一個VB應用程序訪問我的服務器上的一個PHP文件,但有時它可以小故障,並讓他們在幾秒鐘內訪問它多次,然後它在服務器上創建高負載。每分鐘限制PHP請求數量?

現在所以這不會發生,是否有辦法限制請求PHP文件的每個獨特人每30秒發出一次請求?我不希望它將整個服務器限制爲每30秒1次請求,我希望它每個用戶每30秒1次請求。

我不知道如何做到這一點,任何人都可以幫忙嗎?

編輯: 圖片是什麼樣子:enter image description here

+0

您使用捲曲或AJAX擊中的PHP腳本:用戶通過IP

如果你的問題是不是可以使用下面的代碼在你的php文件的開頭CPU負載定義? –

+0

如果你使用的是ajax,你可以使用settimeout函數 –

+0

@VikasUmrao我也沒有使用VB.NET的HTTP請求到站點上的PHP文件。 – TymeBomb

回答

0

設置基於非定義的用戶實體或一個固定的最大頻率或延遲的條件是不是一個好方法這裏,因爲你最終會謊稱

$cpu_load_max = 1; 
$cpu_load_current = sys_getloadavg(); 
if ($cpu_load_current[0] > $cpu_load_max) { 
    header('HTTP/1.1 503 Too busy, try again later'); 
    die('Server too busy. Please try again later.'); 
    // Or whatever you want 
}