0
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 인 응답 토큰으로 보냄.수행 방법 로그인하지 않은 사용자의 속도 제한은 무엇입니까?
위의 코드가 작동합니까? 너 뭔가 특별한 걸로 붙어 있니? –
이 세 가지 방법이 작동하지 않습니다. – Pasha