Index du Forum » » Version future

Auteur

Geoloc
Jireck
8416       

  Posté : 04-01-2021 14:13

pour completer l'interrogation, je vois par exemple dans le main :


#autodoc session_manage() : Mise à jour la  ;table session
function session_manage() {
   global $NPDS_Prefix, $cookie, $REQUEST_URI,& nbsp;$nuke_url;

   $guest=0;
   $ip=getip();
   $username = isset($cookie[1]) ? $cookie [1] : $ip;
   if($username==$ip)
      $guest=1;
      //==> mod_geoloc
      !include!("modules/geoloc/geoloc_conf.php ");
      $file_path = array(
      'https://ipapi.co/'.$ip.'/json',
      'https://api.ipdata.co/'.$ip.'?api-key='.$api_key_ipdata,
      'https://extreme-ip-lookup.com/json/'.$ip,
      'http://ip-api.com/json/'.$ip
      );
      $file = file("modules/geoloc/ge oloc_conf.php");
      if(strstr($file[25],'geo_ip = 1 ')) {
         $ousursit='';
         global $ousursit;
         $resultat=sql_query("SE LECT * FROM ".$NPDS_Prefix."ip_loc WHERE ip_ip LI KE \"$ip\"");
         $controle=sql_num_rows( $resultat);
         while ($row =  sql_fetch_array($resultat)) {
            $ousu rsit= preg_replace("#/.*?/#",'',$_SERVER['PHP_SELF']);
         }
         if($controle !=&nb sp;0)
            sql_q uery("UPDATE ".$NPDS_Prefix."ip_loc SET ip_visite= ip_visit e +1 , ip_visi_pag = \"$ousursit\" WHERE ip_ ip LIKE \"$ip\" ");
         else {
            $ibid =false;
            if(st rstr($nuke_url,'https')) {
              ;  if(file_contents_exist($file_path[0])) {
              ;     $loc = file_get_contents($file_path[0] );
              ;     $loc_obj = json_decode($loc);
              ;     if($loc_obj) {
              ;        if(!property_exists($loc_obj,& nbsp;"error")) {
              ;           $ibid=true;
              ;           if (!em pty($loc_obj->country_name))
              ;               $pay=removeHack($loc_obj->country_name);
              ;           else  < br />              ;               $pay='';
              ;           if (!em pty($loc_obj->country))
              ;               $codepay=removeHack($loc_obj->country);
              ;           else  < br />              ;               $codepay='';
              ;           if (!em pty($loc_obj->city))
              ;               $vi=removeHack($loc_obj->city);
              ;           else
              ;               $vi='';
              ;           if (!em pty($loc_obj->latitude))
              ;               $lat=(float)$loc_obj->latitude;
              ;           else
              ;               $lat='';
              ;           if (!em pty($loc_obj->longitude))
              ;               $long=(float)$loc_obj->longitude;
              ;           else
              ;               $long='';
              ;           sql_query("I NSERT INTO ".$NPDS_Prefix."ip_loc (ip_long, ip_lat, ip _ip, ip_country, ip_code_country, ip_city) VALUES ('$l ong', '$lat', '$ip', '$pay', '$codepay', '$vi')");
              ;           sql_query("U PDATE ".$NPDS_Prefix."ip_loc SET ip_visite= ip_visite  +1, ip_visi_pag = \"$ousursit\" WHERE ip_ip LIKE& nbsp;\"$ip\" ");
              ;        }
              ;     }
              ;  }
              ;  if($ibid==false) {
              ;     if(file_contents_exist($file_path[1])) {
              ;        $loc = file_get_cont ents($file_path[1]);
              ;        $loc_obj = json_deco de($loc);
              ;        if($loc_obj) {
              ;           if(!property _exists($loc_obj, "message")) {
              ;               $ibid=true;
              ;               if (!empty($loc_obj->country_name))
              ;                  $pay=removeHack($loc_obj->country_name);
              ;               else 
              ;                  $pay='';
              ;               if (!empty($loc_obj->country_code))
              ;                  $codepay=removeHack($loc_obj->country_code);
              ;               else 
              ;                  $codepay='';
              ;               if (!empty($loc_obj->city))
              ;                  $vi=removeHack($loc_obj->city);
              ;               else
              ;                  $vi='';
              ;               if (!empty($loc_obj->latitude))
              ;                  $lat=(float)$loc_obj->latitude;
              ;               else
              ;                  $lat='';
              ;               if (!empty($loc_obj->longitude))
              ;                  $long=(float)$loc_obj->longitude;
              ;               else
              ;                  $long='';
              ;               sql_query("INSERT INTO ".$NPDS_Prefix."ip_loc (ip_long,&nb sp;ip_lat, ip_ip, ip_country, ip_code_country, ip_city)&nbs p;VALUES ('$long', '$lat', '$ip', '$pay', '$codepay',& nbsp;'$vi')");
              ;               sql_query("UPDATE ".$NPDS_Prefix."ip_loc SET ip_visite=&nb sp;ip_visite +1, ip_visi_pag = \"$ousursit\" WHERE&nbs p;ip_ip LIKE \"$ip\" ");
              ;           }
              ;        }
              ;     }
              ;     if($ibid==false) {
              ;        if(file_contents_exist($file_p ath[2])) {
              ;           $loc =& nbsp;file_get_contents($file_path[2]);
              ;           $loc_obj&nbs p;= json_decode($loc);
              ;           if ($lo c_obj->status=='success') {
              ;               $ibid=true;
              ;               if (!empty($loc_obj->country))
              ;                  $pay=removeHack($loc_obj->country);
              ;               else 
              ;                  $pay='';
              ;               if (!empty($loc_obj->countryCode))
              ;                  $codepay=removeHack($loc_obj->countryCode);
              ;               else 
              ;                  $codepay='';
              ;               if (!empty($loc_obj->city))
              ;                  $vi=removeHack($loc_obj->city);
              ;               else
              ;                  $vi='';
              ;               if (!empty($loc_obj->lat))
              ;                  $lat=(float)$loc_obj->lat;
              ;               else
              ;                  $lat='';
              ;               if (!empty($loc_obj->lon))
              ;                  $long=(float)$loc_obj->lon;
              ;               else
              ;                  $long='';
              ;               sql_query("INSERT INTO ".$NPDS_Prefix."ip_loc (ip_long,&nb sp;ip_lat, ip_ip, ip_country, ip_code_country, ip_city)&nbs p;VALUES ('$long', '$lat', '$ip', '$pay', '$codepay',& nbsp;'$vi')");
              ;               sql_query("UPDATE ".$NPDS_Prefix."ip_loc SET ip_visite=&nb sp;ip_visite +1, ip_visi_pag = \"$ousursit\" WHERE&nbs p;ip_ip LIKE \"$ip\" ");
              ;           }
              ;        }
              ;     }
              ;  }
            }
            else& nbsp;if(strstr($nuke_url,'http')) {
              ;  if(file_contents_exist($file_path[3])) {
              ;     $loc = file_get_contents($file_path[3] );
              ;     $loc_obj = json_decode($loc);
              ;     if($loc_obj) {
              ;        if ($loc_obj->status== 'success') {
              ;           if (!em pty($loc_obj->country))
              ;               $pay=removeHack($loc_obj->country);
              ;           else  < br />              ;               $pay='';
              ;           if (!em pty($loc_obj->countryCode))
              ;               $codepay=removeHack($loc_obj->countryCode);
              ;           else  < br />              ;               $codepay='';
              ;           if (!em pty($loc_obj->city))
              ;               $vi=removeHack($loc_obj->city);
              ;           else
              ;               $vi='';
              ;           if (!em pty($loc_obj->lat))
              ;               $lat=(float)$loc_obj->lat;
              ;           else
              ;               $lat='';
              ;           if (!em pty($loc_obj->lon))
              ;               $long=(float)$loc_obj->lon;
              ;           else
              ;               $long='';
              ;           sql_query("I NSERT INTO ".$NPDS_Prefix."ip_loc (ip_long, ip_lat, ip _ip, ip_country, ip_code_country, ip_city) VALUES ('$l ong', '$lat', '$ip', '$pay', '$codepay', '$vi')");
              ;           sql_query("U PDATE ".$NPDS_Prefix."ip_loc SET ip_visite= ip_visite  +1, ip_visi_pag = \"$ousursit\" WHERE ip_ip LIKE& nbsp;\"$ip\" ");
              ;        }
              ;     }
              ;  }
            }
         }
      }
      //<== mod_geoloc

   $past = time()-300;
   sql_query("DELETE FROM ".$NPDS_Prefix."session&nb sp;WHERE time < '$past'");
   $result = sql_query("SELECT time FROM&n bsp;".$NPDS_Prefix."session WHERE username='$username'");
   if ($row = sql_fetch_assoc($result)) {
      if ($row['time'] < (tim e()-30)) {
         sql_query("UPDATE  ".$NPDS_Prefix."session SET username='$username', time='".time() ."', host_addr='$ip', guest='$guest', uri='$REQUEST_URI', a gent='".getenv("HTTP_USER_AGENT")."' WHERE username='$username'");
         if ($guest==0)&nbs p;{
            globa l $gmt;
            sql_q uery("UPDATE ".$NPDS_Prefix."users SET user_lastvisit='".(time() +(integer)$gmt*3600)."' WHERE uname='$username'");
         }
      }
   } else {
      sql_query("INSERT INTO ".$NPDS_ Prefix."session (username, time, host_addr, guest, uri , agent) VALUES ('$username', '".time()."', '$ip',&nbs p;'$guest', '$REQUEST_URI', '".getenv("HTTP_USER_AGENT")."')");
   }
}



Pourquoi ne pas le simplifier avec des fichiers mis dans le repertoire module/geoloc ?

Genre pour le fichier mainfile et la fonction session_manage



#autodoc session_manage() : Mise à jour la  ;table session
function session_manage() {
   global $NPDS_Prefix, $cookie, $REQUEST_URI,& nbsp;$nuke_url;

   $guest=0;
   $ip=getip();
   $username = isset($cookie[1]) ? $cookie [1] : $ip;
   if($username==$ip)
      $guest=1;
      if (geoloc == $actif){
           !include!(" modules/geoloc/geoloc_Core.php");
           geoloc-sess ion();
      }     

   $past = time()-300;
   sql_query("DELETE FROM ".$NPDS_Prefix."session&nb sp;WHERE time < '$past'");
   $result = sql_query("SELECT time FROM&n bsp;".$NPDS_Prefix."session WHERE username='$username'");
   if ($row = sql_fetch_assoc($result)) {
      if ($row['time'] < (tim e()-30)) {
         sql_query("UPDATE  ".$NPDS_Prefix."session SET username='$username', time='".time() ."', host_addr='$ip', guest='$guest', uri='$REQUEST_URI', a gent='".getenv("HTTP_USER_AGENT")."' WHERE username='$username'");
         if ($guest==0)&nbs p;{
            globa l $gmt;
            sql_q uery("UPDATE ".$NPDS_Prefix."users SET user_lastvisit='".(time() +(integer)$gmt*3600)."' WHERE uname='$username'");
         }
      }
   } else {
      sql_query("INSERT INTO ".$NPDS_ Prefix."session (username, time, host_addr, guest, uri , agent) VALUES ('$username', '".time()."', '$ip',&nbs p;'$guest', '$REQUEST_URI', '".getenv("HTTP_USER_AGENT")."')");
   }
}



Ce qui rendrait le code plus propre et indépendant du module



Cet article provient de NPDS

http://www.npds.org/viewtopic.php?topic=26749&forum=4