PHP制作登錄異常ip檢測(cè)功能的實(shí)例代碼
使用函數(shù)查詢數(shù)據(jù)庫(kù)遍歷實(shí)現(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ù)庫(kù)對(duì)比 if($ip == $nowip ){ //相同直接返回字符串 $str = '<font color="blue"'.">登錄IP:".$ip."</font>"; }else{ //不同則記數(shù)這個(gè)ip地址數(shù)量 $count = M('log')->where("name='{$name}' AND ip='{$ip}'")->count(); //如果超過(guò)一定數(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檢測(cè)功能的實(shí)例代碼就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Laravel 5框架學(xué)習(xí)之用戶認(rèn)證
本文給大家分享的是Laravel5框架中用戶認(rèn)證系統(tǒng)的使用方法,十分的詳細(xì),附上示例,推薦給小伙伴們,有需要的朋友可以參考下。2015-04-04PHP實(shí)現(xiàn)加減乘除最簡(jiǎn)單的實(shí)例分享
在本篇文章里小編給大家整理了一篇關(guān)于PHP實(shí)現(xiàn)簡(jiǎn)單的加減乘除的實(shí)例內(nèi)容,有興趣的朋友們可以跟著學(xué)習(xí)參考下。2021-08-08Laravel框架數(shù)據(jù)庫(kù)CURD操作、連貫操作總結(jié)
這篇文章主要介紹了Laravel框架數(shù)據(jù)庫(kù)CURD操作、連貫操作、鏈?zhǔn)讲僮骺偨Y(jié),本文包含大量數(shù)據(jù)庫(kù)操作常用方法,需要的朋友可以參考下2014-09-09Laravel 5.5 的自定義驗(yàn)證對(duì)象/類示例代碼詳解
Laravel 5.5 將提供一個(gè)全新的自定義驗(yàn)證規(guī)則的對(duì)象,以作為原來(lái)的 Validator::extend 方法的替代。接下來(lái)通過(guò)示例代碼給大家介紹laravel 自定義驗(yàn)證對(duì)象和類,需要的朋友參考下吧2017-08-08PDO實(shí)現(xiàn)學(xué)生管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了PDO實(shí)現(xiàn)學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03php驗(yàn)證身份證號(hào)碼正確性的函數(shù)
這篇文章主要為大家分享了兩段php驗(yàn)證身份證號(hào)碼是否正確的函數(shù),感興趣的小伙伴們可以參考一下2016-07-07Drupal7中常用的數(shù)據(jù)庫(kù)操作實(shí)例
Drupal 7 提供的新功能其中一個(gè)就是可以使用 Query Builder and Query Objects 查詢生成器來(lái)構(gòu)造查詢對(duì)象的能力,無(wú)需在代碼中寫(xiě)原始的SQL語(yǔ)句,一是提高了代碼可閱讀性,二是兼容所有數(shù)據(jù)庫(kù)2014-03-03基于PHP實(shí)現(xiàn)用戶在線狀態(tài)檢測(cè)
這篇文章主要介紹了基于PHP實(shí)現(xiàn)用戶在線狀態(tài)檢測(cè),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11PHP開(kāi)源開(kāi)發(fā)框架ZendFramework使用中常見(jiàn)問(wèn)題說(shuō)明及解決方案
Zend Framework(簡(jiǎn)寫(xiě)ZF)是由 Zend 公司支持開(kāi)發(fā)的完全基于 PHP5 的開(kāi)源PHP開(kāi)發(fā)框架,可用于開(kāi)發(fā) Web 程序和服務(wù),ZF采用 MVC(Model–View-Controller) 架構(gòu)模式來(lái)分離應(yīng)用程序中不同的部分方便程序的開(kāi)發(fā)和維護(hù)。2014-06-06