Laravel 5 - 每个IP地址的RateLimit

时间:2015-11-18 21:50:37

标签: laravel-5 middleware

我现在正在使用Laravel 5构建REST API。

现在,我将限制来自同一IP地址的给定时间段内的请求数。

我想在中间件中实现它。

当然,有许多样本,但它们是Laravel 4的样本。它们不适用于Laravel 5.

请帮帮我。

感谢。

3 个答案:

答案 0 :(得分:1)

在Laravel 5.2中,它是作为中间件构建的。 https://laracasts.com/series/whats-new-in-laravel-5-2

答案 1 :(得分:0)

已有一个包。查看https://github.com/GrahamCampbell/Laravel-Throttle。它是Laravel 5的速率限制器,通过中间件实现。

答案 2 :(得分:0)

您可以将api之类的中间件组分配给单个路由:

import React from 'react';

const Test = (props) => <div id="MyDiv">


    <div>

        <div id="one">
            THIS IS ONE
        </div>


        {

            props.list.map((data, i) => {

                return <div id="oneb" key={i}>
                   THIS IS ONEB
                </div>

            })

        }


    </div>
</div>

或者,如果您只想使用节流的中间件,则可以使用:

Route::get('/route/path', ['middleware' => 'api', 'uses' => 'Controller@action']);

有关限速功能的更多详细信息,您可以查看下面链接的Laracasts视频:

What's New in Laravel 5.2: API Rate Limiting