找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 386|回复: 0
打印 上一主题 下一主题

Laravel的throttle中间件失效问题解决方法

[复制链接]

2647

主题

2647

帖子

7881

积分

论坛元老

Rank: 8Rank: 8

积分
7881
跳转到指定楼层
楼主
发表于 2018-2-14 05:32:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            本文实例讲述了Laravel的throttle中间件失效问题解决方法。分享给大家供大家参考,具体如下:
按官方解释,实现访问频率限制非常简单:
Route::get('test', function(){
  return 'helle world' ;
})->middleware('throttle');
也确实如此,cache存储访问次数,做出判断。
之前使用了zizaco/entrust(一个基于角色的权限管理包),其中把 .env 中的CACHE_DRIVER=file 改为了 CACHE_DRIVER=array。所以问题出现了。Laravel支持多种cache驱动,File, Array, Db, Redis等,但是throttle 好像使用File类型的驱动才有效。
我的修改如下:
vendor/illuminate/cache/RateLimiter.php 文件
public function __construct(Cache $cache)
{
    $this->cache = $cache;
}
public function __construct()
{
    $this->cache = app('cache')->driver('file');
}
把上面的改为下面的就可以了。throttle中间件也起作用了。
更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总
希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。
            
            
您可能感兴趣的文章:
  • PHP开发框架Laravel数据库操作方法总结
  • Laravel框架数据库CURD操作、连贯操作总结
  • Laravel框架路由配置总结、设置技巧大全
  • Laravel框架中扩展函数、扩展自定义类的方法
  • Laravel框架表单验证详解
  • Laravel实现用户注册和登录
  • Laravel模板引擎Blade中section的一些标签的区别介绍
  • Laravel中使用自己编写类库的3种方法
  • 关于扩展 Laravel 默认 Session 中间件导致的 Session 写入失效问题分析
  • Laravel重写用户登录简单示例
  • Laravel5.1自定义500错误页面示例
  • Laravel日志用法详解
  • Laravel 5.1 on SAE环境开发教程【附项目demo源码】
  • Laravel中间件实现原理详解
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端