最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP實(shí)現(xiàn)redis限制單ip、單用戶的訪問次數(shù)功能示例

 更新時(shí)間:2018年06月16日 09:48:43   作者:愛代碼也愛生活  
這篇文章主要介紹了PHP實(shí)現(xiàn)redis限制單ip、單用戶的訪問次數(shù)功能,結(jié)合實(shí)例形式分析了php連接redis及獲取、記錄客戶端信息,并限制客戶訪問次數(shù)等操作技巧,需要的朋友可以參考下

本文實(shí)例講述了PHP實(shí)現(xiàn)redis限制單ip、單用戶的訪問次數(shù)功能。分享給大家供大家參考,具體如下:

有時(shí)候我們需要限制一個(gè)api或頁面訪問的頻率,例如單ip或單用戶一分鐘之內(nèi)只能訪問多少次

類似于這樣的需求很容易用Redis來實(shí)現(xiàn)

<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->auth("php001");
//這個(gè)key記錄該ip的訪問次數(shù) 也可改成用戶id
//$key = 'userid_11100';
$key=get_real_ip();
//限制次數(shù)為5
$limit = 5;
$check = $redis->exists($key);
if($check){
  $redis->incr($key);
  $count = $redis->get($key);
  if($count > 5){
    exit('請(qǐng)求太頻繁,請(qǐng)稍后再試!');
  }
}else{
  $redis->incr($key);
  //限制時(shí)間為60秒
  $redis->expire($key,60);
}
$count = $redis->get($key);
echo '第 '.$count.' 次請(qǐng)求';
//獲取客戶端真實(shí)ip地址
function get_real_ip(){
  static $realip;
  if(isset($_SERVER)){
    if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){
      $realip=$_SERVER['HTTP_X_FORWARDED_FOR'];
    }else if(isset($_SERVER['HTTP_CLIENT_IP'])){
      $realip=$_SERVER['HTTP_CLIENT_IP'];
    }else{
      $realip=$_SERVER['REMOTE_ADDR'];
    }
  }else{
    if(getenv('HTTP_X_FORWARDED_FOR')){
      $realip=getenv('HTTP_X_FORWARDED_FOR');
    }else if(getenv('HTTP_CLIENT_IP')){
      $realip=getenv('HTTP_CLIENT_IP');
    }else{
      $realip=getenv('REMOTE_ADDR');
    }
  }
  return $realip;
}
?>

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php+redis數(shù)據(jù)庫程序設(shè)計(jì)技巧總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《PHP基本語法入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • PHP設(shè)計(jì)模式之解釋器模式的深入解析

    PHP設(shè)計(jì)模式之解釋器模式的深入解析

    本篇文章是對(duì)PHP設(shè)計(jì)模式中的解釋器模式進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • php獲取通過http協(xié)議post提交過來xml數(shù)據(jù)及解析xml

    php獲取通過http協(xié)議post提交過來xml數(shù)據(jù)及解析xml

    php 如何獲取請(qǐng)求的xml數(shù)據(jù),對(duì)方通過http協(xié)議post提交過來xml數(shù)據(jù),php如何獲取到這些數(shù)據(jù)呢?
    2012-12-12
  • php自動(dòng)給文章加關(guān)鍵詞鏈接的函數(shù)代碼

    php自動(dòng)給文章加關(guān)鍵詞鏈接的函數(shù)代碼

    自動(dòng)給文章加關(guān)鍵詞鏈接的php函數(shù)代碼,需要的朋友可以參考下
    2012-11-11
  • PHP整合PayPal支付

    PHP整合PayPal支付

    PayPal作為全球運(yùn)用最廣的在線支付工具,一直被很多外貿(mào)B2C網(wǎng)站納為首選支付工具。不過對(duì)于自主開發(fā)網(wǎng)站的商戶來說,PayPal接口的集成經(jīng)常遇到很多問題,今天Lance就在這里給大家分享一下php項(xiàng)目中PayPal接口的集成方法。
    2015-06-06
  • PHP文件上傳利用的常見函數(shù)總結(jié)大全

    PHP文件上傳利用的常見函數(shù)總結(jié)大全

    文件上傳是開發(fā)中常見的一個(gè)功能,下面這篇文章主要給大家介紹了關(guān)于PHP文件上傳利用的常見函數(shù),文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • PHP操作MongoDB實(shí)現(xiàn)增刪改查功能【附php7操作MongoDB方法】

    PHP操作MongoDB實(shí)現(xiàn)增刪改查功能【附php7操作MongoDB方法】

    這篇文章主要介紹了PHP操作MongoDB實(shí)現(xiàn)增刪改查功能,結(jié)合實(shí)例形式總結(jié)分析了php操作MongoDB的常用技巧,并附帶php7操作MongoDB方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2018-04-04
  • PHP中$GLOBALS與global的區(qū)別詳解

    PHP中$GLOBALS與global的區(qū)別詳解

    今天小編就為大家分享一篇關(guān)于PHP中$GLOBALS與global的區(qū)別詳解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • PHP CURL獲取返回值的方法

    PHP CURL獲取返回值的方法

    這篇文章主要介紹了PHP CURL獲取返回值的方法,需要的朋友可以參考下
    2014-05-05
  • php實(shí)現(xiàn)倒計(jì)時(shí)效果

    php實(shí)現(xiàn)倒計(jì)時(shí)效果

    這篇文章主要介紹了php實(shí)現(xiàn)倒計(jì)時(shí)效果,寫了一個(gè)考試系統(tǒng)剩余時(shí)間倒計(jì)時(shí)的顯示代碼和大家一起探討,需要的朋友可以參考下
    2015-12-12
  • php使用PDO方法詳解

    php使用PDO方法詳解

    這篇文章主要介紹了php使用PDO方法,較為詳細(xì)的分析了PDO各種操作方法與技巧,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-12-12

最新評(píng)論

鹤岗市| 大姚县| 巧家县| 珠海市| 茌平县| 武威市| 白玉县| 宝坻区| 海安县| 进贤县| 阿拉善右旗| 龙门县| 邻水| 中西区| 甘泉县| 克拉玛依市| 黑龙江省| 阳春市| 茌平县| 定南县| 邳州市| 松江区| 德令哈市| 九寨沟县| 皮山县| 保定市| 离岛区| 文水县| 岑溪市| 鄂托克前旗| 通辽市| 合山市| 武强县| 读书| 平湖市| 惠水县| 宁化县| 闵行区| 合阳县| 定州市| 博兴县|