我使用此功能来限制在互联网上冲浪的http请求:
session_start();
if (isset($_SESSION['LAST_CALL'])) {
$last = strtotime($_SESSION['LAST_CALL']);
$curr = strtotime(date("Y-m-d h:i:s"));
$sec = abs($last - $curr);
if ($sec <= 2) {
die('Rate Limit Exceeded'); // rate limit
}
}
$_SESSION['LAST_CALL'] = date("Y-m-d h:i:s");
适用于浏览器
但如果我尝试使用curl的请求:
curl http://localhost/project/p.php
没有任何事情发生
我如何更新这个以使速率限制对卷曲有效?
解
我检查客户是否接受cookie,如果没有退出:
setcookie('test', 1, time()+3600);
if(count($_COOKIE) == 0){
die ("Cookie Not Enabled");
}
使用cookie进行curl请求保存cookie文件,然后我用cookie发出另一个请求:
curl http://localhost/project/p.php -c cookie-jar.txt
curl http://localhost/project/register.php --cookie "PHPSESSID=g90tqc0hvp6sodods9jisss912"
答案 0 :(得分:0)
<强>解强>
我检查客户是否接受cookie,如果没有退出:
Sub Test()
RemoveServiceAccounts Selection
End Sub
使用cookie进行curl请求保存cookie文件,然后我用cookie发出另一个请求:
setcookie('test', 1, time()+3600);
if(count($_COOKIE) == 0){
die ("Cookie Not Enabled");
}