Commit 7ab1a7f0 by Vadim Belorussov

Fixed translation of 'Rate Limiting' in README and related sections

parent 7f38f49d
...@@ -133,7 +133,7 @@ All Rights Reserved. ...@@ -133,7 +133,7 @@ All Rights Reserved.
* [Роутинг](rest-routing.md) * [Роутинг](rest-routing.md)
* [Форматирование ответа](rest-response-formatting.md) * [Форматирование ответа](rest-response-formatting.md)
* [Аутентификация](rest-authentication.md) * [Аутентификация](rest-authentication.md)
* [Ограничение количества запросов](rest-rate-limiting.md) * [Ограничение частоты запросов](rest-rate-limiting.md)
* [Версионирование](rest-versioning.md) * [Версионирование](rest-versioning.md)
* [Обработка ошибок](rest-error-handling.md) * [Обработка ошибок](rest-error-handling.md)
......
...@@ -106,7 +106,7 @@ class User extends ActiveRecord implements IdentityInterface ...@@ -106,7 +106,7 @@ class User extends ActiveRecord implements IdentityInterface
После включения аутентификации описанным выше способом при каждом запросе к API запрашиваемый контроллер После включения аутентификации описанным выше способом при каждом запросе к API запрашиваемый контроллер
будет пытаться аутентифицировать пользователя в своем методе `beforeAction()`. будет пытаться аутентифицировать пользователя в своем методе `beforeAction()`.
Если аутентификация прошла успешно, контроллер выполнит другие проверки (ограничение на количество запросов, авторизация) Если аутентификация прошла успешно, контроллер выполнит другие проверки (ограничение частоты запросов, авторизация)
и затем выполнит действие. *Информация о подлинности аутентифицированного пользователя может быть получена из объекта `Yii::$app->user->identity`*. и затем выполнит действие. *Информация о подлинности аутентифицированного пользователя может быть получена из объекта `Yii::$app->user->identity`*.
Если аутентификация прошла неудачно, будет возвращен ответ с HTTP-кодом состояния 401 вместе с другими необходимыми заголовками Если аутентификация прошла неудачно, будет возвращен ответ с HTTP-кодом состояния 401 вместе с другими необходимыми заголовками
......
Ограничение количества запросов Ограничение частоты запросов
=============================== ===============================
Чтобы избежать злоупотреблений, вам следует подумать о добавлении ограничений количества запросов к вашим API. Например, вы можете ограничить Чтобы избежать злоупотреблений, вам следует подумать о добавлении ограничения частоты запросов к вашим API. Например, вы можете ограничить
использование каждого метода API, поставив для каждого пользователя ограничение не более 100 вызовов API в течение 10 минут. Если от пользователя использование каждого метода API, поставив для каждого пользователя ограничение: не более 100 вызовов API в течение 10 минут. Если от пользователя
приходит большее количество запросов в течение этого периода времени, будет возвращаться ответ с кодом состояния 429 (означающий «слишком много запросов»). приходит большее количество запросов в течение этого периода времени, будет возвращаться ответ с кодом состояния 429 (означающий «слишком много запросов»).
Чтобы включить ограничение количества запросов, *[[yii\web\User::identityClass|класс user identity]]* должен реализовывать интерфейс [[yii\filters\RateLimitInterface]]. Чтобы включить ограничение частоты запросов, *[[yii\web\User::identityClass|класс user identity]]* должен реализовывать интерфейс [[yii\filters\RateLimitInterface]].
Этот интерфейс требует реализации следующих трех методов: Этот интерфейс требует реализации следующих трех методов:
* `getRateLimit()`: возвращает максимальное количество разрешенных запросов и период времени, т.е. `[100, 600]`, что означает * `getRateLimit()`: возвращает максимальное количество разрешенных запросов и период времени, т.е. `[100, 600]`, что означает
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
Так как *identity class* реализует требуемый интерфейс, Yii будет автоматически использовать [[yii\filters\RateLimiter]], Так как *identity class* реализует требуемый интерфейс, Yii будет автоматически использовать [[yii\filters\RateLimiter]],
настроенный как фильтр действий в [[yii\rest\Controller]], для выполнения проверки на количество разрешенных запросов. Если ограничение на количество настроенный как фильтр действий в [[yii\rest\Controller]], для выполнения проверки на количество разрешенных запросов. Если ограничение на количество
запросов будет превышено, выбрасывается исключение [[yii\web\TooManyRequestsHttpException]]. Вы можете настроить ограничитель количества запросов запросов будет превышено, выбрасывается исключение [[yii\web\TooManyRequestsHttpException]]. Вы можете настроить ограничитель частоты запросов
в ваших классах REST-контроллеров следующим образом: в ваших классах REST-контроллеров следующим образом:
```php ```php
...@@ -33,7 +33,7 @@ public function behaviors() ...@@ -33,7 +33,7 @@ public function behaviors()
} }
``` ```
Когда ограничение количества запросов включено, по умолчанию каждый ответ будет возващаться со следующими HTTP-заголовками, содержащими Когда ограничение частоты запросов включено, по умолчанию каждый ответ будет возващаться со следующими HTTP-заголовками, содержащими
информацию о текущих ограничениях количества запросов: информацию о текущих ограничениях количества запросов:
* `X-Rate-Limit-Limit`: максимальное количество запросов, разрешенное в течение периода времени; * `X-Rate-Limit-Limit`: максимальное количество запросов, разрешенное в течение периода времени;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment