Heim >Backend-Entwicklung >PHP-Tutorial >Beispiel für die Erstellung einer Funktion zur Erkennung abnormaler Login-IPs mit PHP
In diesem Artikel wird hauptsächlich das Beispiel der Erstellung einer abnormalen Login-IP-Erkennungsfunktion in PHP vorgestellt. Ich hoffe, dass es für alle hilfreich ist.
Funktionsabfrage-Datenbank-Traversal-Implementierung verwenden
/** * 不在常用ip地址登录返回描红信息 * @param string $ip ip地址 * @param string $name 用户名 * @return string */ function errorIp($ip,$name){ $nowip = get_client_ip(); //判断ip和当前ip是否相同,不同则查询数据库对比 if($ip == $nowip ){ //相同直接返回字符串 $str = '<font color="blue"'.">登录IP:".$ip."</font>"; }else{ //不同则记数这个ip地址数量 $count = M('log')->where("name='{$name}' AND ip='{$ip}'")->count(); //如果超过一定数量则是正常ip否则为异常返回字符串 if($count > 10){ $str = '<font color="blue"'.">登录IP:".$ip."</font>"; }else{ $str = '<font color="red"'.">异常IP:".$ip."</font>"; } } return $str; }
Hinweis: Geeignet für alle Frameworks, get_client_ip() Ist die IP-Erfassungsfunktion.
get_client_ip-Funktionsfragment:
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; }
Das Obige ist der gesamte Inhalt dieses Artikels , ich hoffe, es wird für Sie nützlich sein. Das Lernen aller hilft.
Verwandte Empfehlungen:
phpSo entfernen Sie schnell Duplikate aus Array-Elementen
PHP-Methode zum Drucken von Binärbäumen in Zickzack-Reihenfolge
PHP Ausführliche Erklärung zum Einrichten einer Sitzung, die streng kontrolliert die Ablaufzeit
Das obige ist der detaillierte Inhalt vonBeispiel für die Erstellung einer Funktion zur Erkennung abnormaler Login-IPs mit PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!