public function behaviors()
{
return [
'rateLimiter' => [
'class' => \yii\filters\RateLimiter::className(),
'enableRateLimitHeaders' =>false
],
];
}
public function getRateLimit($request, $action)
{
// 6 - кол-во
// 10 - это секунды
return [6, 10];
}
public function loadAllowance($request, $action)
{
return [$this->allowance, $this->allowance_updated_at];
}
/**
* Метод сохранит в кеш
* @param \yii\web\Request $request
* @param \yii\base\Action $action
* @param int $allowance
* @param int $timestamp
*/
public function saveAllowance($request, $action, $allowance, $timestamp)
{
$this->allowance = $allowance;
$this->allowance_updated_at = $timestamp;
$this->save();
}重点是,在没有使用会话的情况下,日志记录发生在android应用程序上。刚刚发送了响应令牌,这是登录用户的id。
发布于 2017-12-01 22:46:44
但是,如果您通过上述任何一种方式实现此限制,用户可以通过删除cookie/临时文件或IP绕过此限制。
https://stackoverflow.com/questions/47595742
复制相似问题