欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP制作登錄異常ip檢測功能的實例代碼

 更新時間:2016年11月16日 09:31:57   投稿:jingxian  
下面小編就為大家?guī)硪黄狿HP制作登錄異常ip檢測功能的實例代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

使用函數(shù)查詢數(shù)據(jù)庫遍歷實現(xiàn)

/**
 * 不在常用ip地址登錄返回描紅信息
 * @param string $ip  ip地址
 * @param string $name  用戶名
 * @return string
 */

function errorIp($ip,$name){

  $nowip = get_client_ip();
  //判斷ip和當(dāng)前ip是否相同,不同則查詢數(shù)據(jù)庫對比
  if($ip == $nowip ){
    //相同直接返回字符串
    $str = '<font color="blue"'.">登錄IP:".$ip."</font>";
  }else{
    //不同則記數(shù)這個ip地址數(shù)量
    $count =  M('log')->where("name='{$name}' AND ip='{$ip}'")->count();
    //如果超過一定數(shù)量則是正常ip否則為異常返回字符串
    if($count > 10){
      $str = '<font color="blue"'.">登錄IP:".$ip."</font>";
    }else{
      $str = '<font color="red"'.">異常IP:".$ip."</font>";
    }
  }

  return $str;

}

注釋:適合所有框架使用,get_client_ip()是ip獲取函數(shù)。

get_client_ip函數(shù)片段:

function get_client_ip() {
  if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
    $ip = getenv('HTTP_CLIENT_IP');
  } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
    $ip = getenv('HTTP_X_FORWARDED_FOR');
  } elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
    $ip = getenv('REMOTE_ADDR');
  } else{
    $ip = $_SERVER['REMOTE_ADDR'];
  }
  return $ip;
}

以上這篇PHP制作登錄異常ip檢測功能的實例代碼就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:

相關(guān)文章

  • Laravel 5框架學(xué)習(xí)之用戶認(rèn)證

    Laravel 5框架學(xué)習(xí)之用戶認(rèn)證

    本文給大家分享的是Laravel5框架中用戶認(rèn)證系統(tǒng)的使用方法,十分的詳細(xì),附上示例,推薦給小伙伴們,有需要的朋友可以參考下。
    2015-04-04
  • PHP實現(xiàn)加減乘除最簡單的實例分享

    PHP實現(xiàn)加減乘除最簡單的實例分享

    在本篇文章里小編給大家整理了一篇關(guān)于PHP實現(xiàn)簡單的加減乘除的實例內(nèi)容,有興趣的朋友們可以跟著學(xué)習(xí)參考下。
    2021-08-08
  • Laravel框架數(shù)據(jù)庫CURD操作、連貫操作總結(jié)

    Laravel框架數(shù)據(jù)庫CURD操作、連貫操作總結(jié)

    這篇文章主要介紹了Laravel框架數(shù)據(jù)庫CURD操作、連貫操作、鏈?zhǔn)讲僮骺偨Y(jié),本文包含大量數(shù)據(jù)庫操作常用方法,需要的朋友可以參考下
    2014-09-09
  • Laravel 5.5 的自定義驗證對象/類示例代碼詳解

    Laravel 5.5 的自定義驗證對象/類示例代碼詳解

    Laravel 5.5 將提供一個全新的自定義驗證規(guī)則的對象,以作為原來的 Validator::extend 方法的替代。接下來通過示例代碼給大家介紹laravel 自定義驗證對象和類,需要的朋友參考下吧
    2017-08-08
  • PDO實現(xiàn)學(xué)生管理系統(tǒng)

    PDO實現(xiàn)學(xué)生管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了PDO實現(xiàn)學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • php驗證身份證號碼正確性的函數(shù)

    php驗證身份證號碼正確性的函數(shù)

    這篇文章主要為大家分享了兩段php驗證身份證號碼是否正確的函數(shù),感興趣的小伙伴們可以參考一下
    2016-07-07
  • Drupal7中常用的數(shù)據(jù)庫操作實例

    Drupal7中常用的數(shù)據(jù)庫操作實例

    Drupal 7 提供的新功能其中一個就是可以使用 Query Builder and Query Objects 查詢生成器來構(gòu)造查詢對象的能力,無需在代碼中寫原始的SQL語句,一是提高了代碼可閱讀性,二是兼容所有數(shù)據(jù)庫
    2014-03-03
  • thinkphp3.2.0 setInc方法 源碼全面解析

    thinkphp3.2.0 setInc方法 源碼全面解析

    下面小編就為大家分享一篇thinkphp3.2.0 setInc方法 源碼全面解析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • 基于PHP實現(xiàn)用戶在線狀態(tài)檢測

    基于PHP實現(xiàn)用戶在線狀態(tài)檢測

    這篇文章主要介紹了基于PHP實現(xiàn)用戶在線狀態(tài)檢測,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • PHP開源開發(fā)框架ZendFramework使用中常見問題說明及解決方案

    PHP開源開發(fā)框架ZendFramework使用中常見問題說明及解決方案

    Zend Framework(簡寫ZF)是由 Zend 公司支持開發(fā)的完全基于 PHP5 的開源PHP開發(fā)框架,可用于開發(fā) Web 程序和服務(wù),ZF采用 MVC(Model–View-Controller) 架構(gòu)模式來分離應(yīng)用程序中不同的部分方便程序的開發(fā)和維護(hù)。
    2014-06-06

最新評論