<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 速率限制 為防止濫用,你應該考慮增加速率限制到您的API。 例如,您可以限制每個用戶的API的使用是在10分鐘內最多100次的API調用。 如果一個用戶同一個時間段內太多的請求被接收, 將返回響應狀態代碼 429 (這意味著過多的請求)。 要啟用速率限制, yii\web\User::identityClass 應該實現 yii\filters\RateLimitInterface. 這個接口需要實現以下三個方法: * `getRateLimit()`: 返回允許的請求的最大數目及時間,例如,`[100, 600]`?表示在600秒內最多100次的API調用。 * `loadAllowance()`: 返回剩余的允許的請求和相應的UNIX時間戳數 當最后一次速率限制檢查時。 * `saveAllowance()`: 保存允許剩余的請求數和當前的UNIX時間戳。 你可以在user表中使用兩列來記錄容差和時間戳信息。?`loadAllowance()`?和?`saveAllowance()`?可以通過實現對符合當前身份驗證的用戶 的這兩列值的讀和保存。為了提高性能,你也可以 考慮使用緩存或NoSQL存儲這些信息。 一旦 identity 實現所需的接口, Yii 會自動使用 yii\filters\RateLimiter 為 yii\rest\Controller 配置一個行為過濾器來執行速率限制檢查。 如果速度超出限制 該速率限制器將拋出一個 yii\web\TooManyRequestsHttpException。 你可以在你的 REST 控制器類里配置速率限制, ~~~ public function behaviors() { $behaviors = parent::behaviors(); $behaviors['rateLimiter']['enableRateLimitHeaders'] = false; return $behaviors; } ~~~ 當速率限制被激活,默認情況下每個響應將包含以下HTTP頭發送 目前的速率限制信息: * `X-Rate-Limit-Limit`: 同一個時間段所允許的請求的最大數目; * `X-Rate-Limit-Remaining`: 在當前時間段內剩余的請求的數量; * `X-Rate-Limit-Reset`: 為了得到最大請求數所等待的秒數。 你可以禁用這些頭信息通過配置 yii\filters\RateLimiter::enableRateLimitHeaders 為false, 就像在上面的代碼示例所示。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看