• <bdo id='sims80aw'></bdo><ul id='dfvj4b9n'></ul>

    <tfoot id='g06nf6es'></tfoot>
  • <small id='fga1tmg5'></small><noframes id='iqb5vl5l'>

    1. <legend id='1xfs4upb'><style id='ctkit4qy'><dir id='3p89grb6'><q id='ntr6h8rf'></q></dir></style></legend>
      <i id='z5inn8fj'><tr id='y2zl7cww'><dt id='45fiavxu'><q id='5126cng2'><span id='le6mw7ry'><b id='82nod5n6'><form id='asjlb2gk'><ins id='s0d4qhot'></ins><ul id='vjaz53eh'></ul><sub id='mtbbi5wr'></sub></form><legend id='gc57nxfh'></legend><bdo id='7atlrl9s'><pre id='oqwu9j81'><center id='v0j3g2e3'></center></pre></bdo></b><th id='ilgnw1og'></th></span></q></dt></tr></i><div id='i3raenlf'><tfoot id='28de7oxg'></tfoot><dl id='jnez2gmf'><fieldset id='37rjqzwc'></fieldset></dl></div>

        精准传达 • 价值共享

        洞悉互联网前沿资讯,探寻网站营销规律

        利用 Redis 对 IP 访问频次进行限制

        作者: 庚午网络 | 2020-12-09 10:09 |点击:

        <legend id='3frehefr'><style id='1v9ac25l'><dir id='ar50xest'><q id='xvmmrpft'></q></dir></style></legend>

              <small id='g4819t4c'></small><noframes id='8qkmkfd1'>

                  <tbody id='mxh855mn'></tbody>
                <i id='0uvcfzmc'><tr id='ofkz8xys'><dt id='iw2crmhh'><q id='b0384b8z'><span id='kg0we7i1'><b id='wlk7joox'><form id='2ttsc91w'><ins id='y1xlgz78'></ins><ul id='ejzb39vv'></ul><sub id='tlvikzy7'></sub></form><legend id='c5ze13w1'></legend><bdo id='eymc441m'><pre id='wfuh7v4n'><center id='6n9tsmb8'></center></pre></bdo></b><th id='viswbft9'></th></span></q></dt></tr></i><div id='3m2j2p80'><tfoot id='f1ar29oa'></tfoot><dl id='2yjqb0xh'><fieldset id='2qedfykx'></fieldset></dl></div>
                  <bdo id='hdm9x6dd'></bdo><ul id='onv7m6n9'></ul>
                • <tfoot id='gkccp8sb'></tfoot>

                  什么是redis,redis能做什么,redis的应用场景?

                   

                    Redis是一款内存高速缓存数据库。Redis全称为:Remote Dictionary Server (远程数据服务),使用C语言编写,Redis是一个key-value存储系统(键值存储系统),支持丰富的数据类型,如:String、list、set、zset、hash。

                  Redis是一种支持key-value等多种数据结构的存储系统。可用于缓存,事件发布或订阅,高速队列等场景。使用C语言编写,支持网络,提供字符串,哈希,列表,队列,集合结构直接存取,基于内存,可持久化。


                  有一个接口发现被恶意调用了,需要想对 IP 进行访问频次限制,服务器上正好有 Redis,就用这个对 IP 访问频次进行限制是个不错的选择,那来直接上代码吧!


                  实现方法

                  
                  	
                  <?php
                  /**
                   * time:2019-10-21 14:24:00
                   * blog: blog.oioweb.cn
                   * author:教书先生
                   */
                  $redis = new Redis();
                  $redis->connect('127.0.0.1', 6379); //连接 Redis
                  if (!$redis->exists(get_real_ip())){
                      //第一次访问
                      $redis->set(get_real_ip(),1,5*60); // 设置5分钟过期时间并设置初始值1
                  }else{
                      //已经记录过IP
                      if ($redis->get(get_real_ip())<30){ //判断IP有没有到达拉黑阈值
                          $redis->incr(get_real_ip()); //次数加一
                      }else{
                          echo '此IP已拉黑,5分钟内请求已达到:'.$redis->get(get_real_ip()).'次';
                      }
                  }
                  function get_real_ip($type = 0,$adv=false) {
                      $type       =  $type ? 1 : 0;
                      static $ip  =   NULL;
                      if ($ip !== NULL) return $ip[$type];
                      if($adv){
                          if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
                              $arr    =   explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
                              $pos    =   array_search('unknown',$arr);
                              if(false !== $pos) unset($arr[$pos]);
                              $ip     =   trim($arr[0]);
                          }elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
                              $ip     =   $_SERVER['HTTP_CLIENT_IP'];
                          }elseif (isset($_SERVER['REMOTE_ADDR'])) {
                              $ip     =   $_SERVER['REMOTE_ADDR'];
                          }
                      }elseif (isset($_SERVER['REMOTE_ADDR'])) {
                          $ip     =   $_SERVER['REMOTE_ADDR'];
                      }
                      $long = sprintf("%u",ip2long($ip));
                      $ip   = $long ? array($ip, $long) : array('0.0.0.0', 0);
                      return $ip[$type];
                  }
                  加在你要限制的地方即可
                  二度创作,如有侵权请联系删除。如没特殊注明,文章均为庚午网络原创,转载请注明https://www.hngengwu.com/gengwuwenku/557.html

                  <small id='6tx9rw1m'></small><noframes id='ehtyt085'>

                • <legend id='859hngkl'><style id='2o1pj24u'><dir id='29qdzlzg'><q id='y7evi6tq'></q></dir></style></legend><tfoot id='l8hkctza'></tfoot>
                      <bdo id='dw4o83ob'></bdo><ul id='c20hs8b3'></ul>

                    <i id='a7im5kar'><tr id='fv28jkuh'><dt id='g1i9xf9v'><q id='zmelrugn'><span id='ml5mjrj8'><b id='o26olf4d'><form id='5vw92nco'><ins id='xf9c7voh'></ins><ul id='wtilw742'></ul><sub id='yzq5ybxq'></sub></form><legend id='eonr69bo'></legend><bdo id='8pssc8jw'><pre id='40bxch5g'><center id='frrduvcj'></center></pre></bdo></b><th id='8bwswkpg'></th></span></q></dt></tr></i><div id='kkpjccr1'><tfoot id='qrpvdnvi'></tfoot><dl id='phuzsxwz'><fieldset id='c0ihq44c'></fieldset></dl></div>

                      多一份策划方案,总有益处。

                      请直接添加技术总监微信联系咨询

                      网站设计 品牌营销

                      多一份参考,总有益处

                      联系庚午网络,获得专属《策划方案》及报价

                      咨询相关问题或预约面谈,可以通过以下方式与我们联系

                      业务热线:18574395938 / 大客户专线:18574395938