Heim >Backend-Entwicklung >PHP-Tutorial >Beispiel für die Erstellung einer Funktion zur Erkennung abnormaler Login-IPs mit PHP

Beispiel für die Erstellung einer Funktion zur Erkennung abnormaler Login-IPs mit PHP

墨辰丷
墨辰丷Original
2018-05-30 17:45:591748Durchsuche

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 = &#39;<font color="blue"&#39;.">登录IP:".$ip."</font>";
  }else{
    //不同则记数这个ip地址数量
    $count =  M(&#39;log&#39;)->where("name=&#39;{$name}&#39; AND ip=&#39;{$ip}&#39;")->count();
    //如果超过一定数量则是正常ip否则为异常返回字符串
    if($count > 10){
      $str = &#39;<font color="blue"&#39;.">登录IP:".$ip."</font>";
    }else{
      $str = &#39;<font color="red"&#39;.">异常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(&#39;HTTP_CLIENT_IP&#39;) && strcasecmp(getenv(&#39;HTTP_CLIENT_IP&#39;), &#39;unknown&#39;)) {
    $ip = getenv(&#39;HTTP_CLIENT_IP&#39;);
  } elseif(getenv(&#39;HTTP_X_FORWARDED_FOR&#39;) && strcasecmp(getenv(&#39;HTTP_X_FORWARDED_FOR&#39;), &#39;unknown&#39;)) {
    $ip = getenv(&#39;HTTP_X_FORWARDED_FOR&#39;);
  } elseif(getenv(&#39;REMOTE_ADDR&#39;) && strcasecmp(getenv(&#39;REMOTE_ADDR&#39;), &#39;unknown&#39;)) {
    $ip = getenv(&#39;REMOTE_ADDR&#39;);
  } else{
    $ip = $_SERVER[&#39;REMOTE_ADDR&#39;];
  }
  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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn