[英]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.