簡體   English   中英

每秒php限制請求

[英]php limit request per second

您好,我在進行類似2個php請求之間的簡單等待時遇到麻煩,例如...我有以下代碼(例如):

readfile($link);

訪客請求此php代碼下載文件...但在10秒內,他請求另一個文件...我希望對時間進行限制,例如是否需要一次,他必須等從第一次下載到允許的時間。第二個請求(下載)30秒...如何實現此目標? 在PHP中...提前謝謝你:)

編輯:我嘗試了下面的帖子的幫助,但沒有用

if (!isset($_SESSION['last_download'])) $_SESSION['last_download'] = 0; {
if (time() - $_SESSION['last_download'] > 10){
    $_SESSION['last_download'] = time();
    echo $_SESSION['last_download'];
    }else {echo"".time() - $_SESSION['last_download']."";}}

但是它不能保存會話...有什么幫助嗎?

但它不保存會話

您是否忘了包含session_start()

嘗試

<?php

session_start();

if (isset($_SESSION['last_download']))
{
    if (time() - $_SESSION['last_download'] > 10)
    {
        // allow download
        $_SESSION['last_download'] = time();
        echo $_SESSION['last_download'];
    }
    else
    {
        echo time() - $_SESSION['last_download'];
    }
}
else
{
    // session not set yet, set it now
    $_SESSION['last_download'] = time();
}

?>

只需將上次下載時間保存到會話中

<?php
if (!isset($_SESSION['last_download'])) $_SESSION['last_download'] = 2; //time in past
if ($_SESSION['last_download'] && time() - $_SESSION['last_download'] > 10){
    $_SESSION['last_download'] = time();
    //allow download
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM