麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > PHP > 正文

Yii2.0 RESTful API的速度限制是什么?有什么用?

2020-03-22 20:19:21
字體:
來源:轉載
供稿:網友
本篇文章給大家帶來的內容是關于Yii2.0 RESTful API的速度限制是什么?有什么用?有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

 

什么是速率限制?

權威指南翻譯過來為限流,為防止濫用,你應該考慮對您的 API 限流。 例如,您可以限制每個用戶 10 分鐘內最多調用 API 100 次。 如果在規定的時間內接收了一個用戶大量的請求,將返回響應狀態代碼 429 (這意味著過多的請求)。

要啟用速率限制,首先需要實現認證類,而關于認證的章節我在 Yii2.0 RESTful API 認證教程 進行了詳細的闡述,本篇就不過多介紹,再次基礎上進行操作啟用速率限制

翻閱權威指南,我們可以看到要啟用速率限制首先 認證類 需要繼承 yiifiltersRateLimitInterface

生成兩個關鍵字段

php yii migrate/create add_allowance_and_allowance_updated_at_to_user

修改 剛才的遷移文件

/** * {@inheritdoc}html' target='_blank'>public function safeUp() $this- addColumn( user , allowance , $this- integer()); $this- addColumn( user , allowance_updated_at , $this- integer()); * {@inheritdoc}public function safeDown() $this- dropColumn( user , allowance  $this- dropColumn( user , allowance_updated_at }

執行遷移

php yii migrate

編寫認證類,并繼承 RateLimitInterface

namespace apimodels;use Yii;use yiiaseNotSupportedException;use yiiehaviorsTimestampBehavior;use yiidbActiveRecord;use yiiiltersRateLimitInterface;use yiiwebIdentityInterface;class User extends ActiveRecord implements IdentityInterface,RateLimitInterface}

實現 RateLimitInterface 所需要的方法

public function getRateLimit($request, $action) return [1, 1]; // $rateLimit requests per secondpublic function loadAllowance($request, $action) return [$this- allowance, $this- allowance_updated_at];public function saveAllowance($request, $action, $allowance, $timestamp) $this- allowance = $allowance; $this- allowance_updated_at = $timestamp; $this- save();}

控制器中實現調用

use yiiiltersuthCompositeAuth;use yiiiltersuthHttpBearerAuth;use yiiiltersuthQueryParamAuth;use yiiiltersRateLimiter;public function behaviors() $behaviors = parent::behaviors(); $behaviors[ rateLimiter ] = [ class = RateLimiter::className(), enableRateLimitHeaders = true, $behaviors[ authenticator ] = [ class = CompositeAuth::className(), authMethods = [ //Http::className(), HttpBearerAuth::className(), QueryParamAuth::className(), //$behaviors[ rateLimiter ][ enableRateLimitHeaders ] = true; return $behaviors;}

ok,請求下你的 action,多次請求如果出現 429,那么表示速率限制啟用成功

以上就是關于 Yii2.0 速率限制的使用,速率限制需要和認證配合著使用,關于認證的,查閱Yii2.0 RESTful API 認證教程 ,這篇文章,推薦您,先看完認證,先做完認證的功能,然后在啟用速率限制

關于 Yii2.0 RESTFul API到此我覺得就結束了,核心功能就是這些,剩下的就是具體的實戰了,多練、多敲,

以上就是Yii2.0 RESTful API的速度限制是什么?有什么用?的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品视频专区 | 又黄又爽又色无遮挡免费 | 亚洲成人免费视频在线 | 免费黄色小视频网站 | 成人国产精品久久久 | 黄色免费小网站 | 久久精品国产精品亚洲 | 欧美日韩免费一区 | 国产91精品久久久 | 黄视频免费在线观看 | 日韩精品中文字幕一区二区 | 午夜爽爽爽男女免费观看hd | 成人午夜在线播放 | 久久亚洲春色中文字幕久久 | 中国美女一级黄色片 | 欧美极品欧美精品欧美视频 | 久久激情国产 | 国产精品99久久99久久久二 | 爱爱视频天天干 | 日本一区二区不卡在线观看 | 亚洲婷婷日日综合婷婷噜噜噜 | 成人在线观看免费观看 | 欧美另类视频在线 | 久草在线看片 | 欧美另类综合 | 国产一区二区不卡视频 | 一区二区三区国产在线 | 成人精品 | 色淫视频 | 毛片韩国| 精品国产91久久久久久 | 国产成人在线免费视频 | 一级免费黄色免费片 | 欧美三级日本三级少妇99 | 成人免费一区二区三区在线观看 | 国产精品一区免费在线观看 | 国产精品久久久久久影视 | 国产色视频一区 | 欧美一级黄色影院 | 黄色片一区二区 | 91午夜少妇三级全黄 |