返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP接口访问频率限制的示例
  • 375
分享到

PHP接口访问频率限制的示例

2023-06-06 15:06:39 375人浏览 泡泡鱼
摘要

这篇文章主要介绍PHP接口访问频率限制的示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!发现网上很多限制都只是1分钟(或者某个时间)内访问的限制。比如1分钟限制10次 那我在59秒的访问了10次,然后key 又过期

这篇文章主要介绍PHP接口访问频率限制的示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

发现网上很多限制都只是1分钟(或者某个时间)内访问的限制。

比如1分钟限制10次 那我在59秒的访问了10次,然后key 又过期了,接下来1分钟又可以访问了 。这种限制根本就不合理。

所以有了我的想法。

直接上代码吧。

functioapi_frequency_visits ($uid) {    $key = "user:{$uid}:api:frequency";    $redis = new Redis();    $redis->connect('127.0.0.1');    $data = $redis->hGetAll($key);    //需要删除的key    $del_key = [];    //时间内访问的总次数    $total = 0;    //时间内最大访问次数    $max_frequency = 10;    //当前时间    $now_time = time();    //限制时间    $limit_time = 60;    foreach ($data as $time=>$count) {        if ($time < $now_time - $limit_time) {            $del_key[] = $time;        } else {            $total += $count;        }    }    //存在需要删除的key    if ($del_key) {        $redis->hDel($key, ...$del_key);    }    if ($total >= $max_frequency) {        return false;    }    return $redis->hIncrBy($key, $now_time, 1);}$uid = 1;$result = api_frequency_visits($uid);if (!$result) {    echo  JSON_encode(['code'=>0, 'msg'=>'操作过于频繁', 'data'=>[]]);die;}echo  json_encode(['code'=>1, 'msg'=>'', 'data'=>[    'uid'=>$uid,    'other'=>rand()]]);die;

限制时间,限制次数这些都可以修改,包括根据用户id也可以换成自己想要的限制,比如IP等。

key过期时间也是可以添加的。

以上是“php接口访问频率限制的示例”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网PHP编程频道!

--结束END--

本文标题: PHP接口访问频率限制的示例

本文链接: https://lsjlt.com/news/247646.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • PHP接口访问频率限制的示例
    这篇文章主要介绍PHP接口访问频率限制的示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!发现网上很多限制都只是1分钟(或者某个时间)内访问的限制。比如1分钟限制10次 那我在59秒的访问了10次,然后key 又过期...
    99+
    2023-06-06
  • java中aop实现接口访问频率限制
    目录引言代码实现引言 项目开发中我们有时会用到一些第三方付费的接口,这些接口的每次调用都会产生一些费用,有时会有别有用心之人恶意调用我们的接口,造成经济损失;或者有时需要对一些执行时...
    99+
    2023-05-16
    java aop接口访问频率限制 java 访问限制 java 频率限制
  • Nginx怎么限制访问频率、下载速率和并发连接数
    这篇文章给大家分享的是有关Nginx怎么限制访问频率、下载速率和并发连接数的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、 限制访问频率、并发连接、下载速度用到的模块和指令概述ngx_http_limit_re...
    99+
    2023-06-16
  • springboot怎么限制接口访问
    在Spring Boot中,可以使用Spring Security来限制接口的访问。Spring Security是一个基于Spri...
    99+
    2023-08-14
    springboot
  • go语言beego框架分页器操作及接口频率限制示例
    目录获取所有文章数据获取总条数设置每页的条数总页数和当前页码获取分页数据返回数据beego接口频率限制获取所有文章数据 o := orm.NewOrm() qs := o.Query...
    99+
    2024-04-02
  • java怎么限制接口访问次数
    在Java中,可以使用计数器来限制接口的访问次数。具体的实现方式如下: 首先,在接口中定义一个静态计数器变量,用于记录接口的访问...
    99+
    2023-10-25
    java
  • win10显示器超出频率限制问题怎么解决
    如果您的Windows 10显示器超出频率限制,您可以尝试以下解决方法:1. 重启电脑:有时候只需简单地重启电脑即可解决显示器超出频...
    99+
    2023-09-15
    win10
  • Python爬虫中如何修改referer绕开登录和访问频率限制
    这篇文章给大家介绍Python爬虫中如何修改referer绕开登录和访问频率限制,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。看官们在写爬虫程序时应该都会遇到如下问题:你的爬虫程序开发时能正常抓取网页,但是正式大量抓取...
    99+
    2023-06-02
  • linux中网络接口名称限制的示例分析
    这篇文章将为大家详细讲解有关linux中网络接口名称限制的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Linux中每个网络接口都有一个名称,可以使用ifconfig命令来查询当前系统中的接口。那...
    99+
    2023-06-12
  • JS按钮连击和接口调用频率限制防止客户爆仓
    目录背景节流是什么如何节流不使用节流使用节流之后模板示例结束语背景 这个项目是一个货币交易客户端,后端会走币安的开放接口,而币安的接口每分钟调用次数是有阈值的,调多了直接接口返回错误...
    99+
    2024-04-02
  • C++中访问权限的示例详解
    众所周知,C++面向对象的三大特性为:封装,继承和多态。下面我们就先对封装做一些简单的了解。封装是通过C++中的类来完成的,类是一种将抽象转换为用户定义类型的工具。类的定义如下: ...
    99+
    2024-04-02
  • C++中访问权限的示例分析
    这篇文章主要为大家展示了“C++中访问权限的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C++中访问权限的示例分析”这篇文章吧。众所周知,C++面向对象的三大特性为:封装,继承和多态。...
    99+
    2023-06-20
  • AOP Redis自定义注解实现细粒度接口IP访问限制
    目录系列说明实现步骤一、引入依赖二、写注解三、写逻辑(注解环绕)1. 添加注解2. 注入 RedisTemplate3. 定义方法4. 实现方法5. 开启spring自动装配四、测试总结系列说明 github地址:git...
    99+
    2024-04-02
  • AOP Redis自定义注解实现细粒度接口IP访问限制
    目录系列说明实现步骤一、引入依赖二、写注解三、写逻辑(注解环绕)1. 添加注解2. 注入 RedisTemplate3. 定义方法4. 实现方法5. 开启spring自动装配四、测试...
    99+
    2022-11-13
    AOP Redis 接口IP访问限制 AOP Redis
  • Golang函数的接口和访问控制的详解
    Golang作为一门快速、高效的编程语言,广受开发者的青睐。在Golang中,函数是非常重要的组成部分,函数可以是公共的,也可以是私有的。在本文中,我们将会深入探讨Golang函数的接口和访问控制,以便更好地理解Golang的开发模式和最佳...
    99+
    2023-05-16
    Golang 函数接口 访问控制
  • SpringBoot在一定时间内限制接口请求次数的实现示例
    需要用到的知识:注解、AOP、ExpiringMap(带有有效期的映射) 我们可以自定义注解,把注解添加到我们的接口上。定义一个切面,执行方法前去ExpiringMap查询该IP在规...
    99+
    2024-04-02
  • Springboot+Redis实现API接口限流的示例代码
    添加Redis的jar包. <dependency> <groupId>org.springframework.boot</groupId&...
    99+
    2024-04-02
  • Vue组件实例间直接访问的示例分析
    小编给大家分享一下Vue组件实例间直接访问的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前面的话  有时候需要父组件访...
    99+
    2024-04-02
  • Golang函数的接口和访问控制源码分析
    本文小编为大家详细介绍“Golang函数的接口和访问控制源码分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“Golang函数的接口和访问控制源码分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、 接口在G...
    99+
    2023-07-06
  • 揭秘 HTTP 401 未授权:PHP 开发中的访问限制问题
    http 401 未授权错误表明服务器无法接受未经验证的请求。为了解决此问题,可以遵循以下步骤:启用 http 基本身份验证以提示用户输入凭据。验证提供的凭据,仅允许授权用户访问。 揭...
    99+
    2024-04-09
    http 访问限制 敏感数据
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作