i/jst.php
by webproger on 2022-07-26
ᐥcalled by i/jst.jsᐥ
<?php
session_start();
/*
ip, time, bot, country, count
CREATE TABLE ipc (
  ip varchar(16) NOT NULL default '',
  tm int(10)     NOT NULL default '0',
  bt tinyint(1)  NOT NULL default '0',
  cy varchar(32) NOT NULL default '',
  ct int(10)     NOT NULL default '1',
  PRIMARY KEY  (ip)
);
index, domain, ip, time, bot, name, value
CREATE TABLE sts (
  ix int(10)     NOT NULL auto_increment,
  dm varchar(64) NOT NULL default '',
  ip varchar(16) NOT NULL default '',
  tm int(10)     NOT NULL default '0',
  bt tinyint(1)  NOT NULL default '0',
  nm varchar(32) NOT NULL default '',
  vl text,
  PRIMARY KEY  (ix)
);
*/
include $_SERVER['DOCUMENT_ROOT']."/i/iip.php";
include $_SERVER['DOCUMENT_ROOT']."/i/idb.php";
include $_SERVER['DOCUMENT_ROOT']."/i/qtd.php";
include $_SERVER['DOCUMENT_ROOT']."/i/qslt.php";
function jst_php() {
    global $p_link,$ip;
    qtdw(487,$_SERVER["HTTP_USER_AGENT"]);
    mysql_query("UPDATE ipc SET bt=1, cy='robot?' WHERE ip='".$ip."'",$p_link);
    mysql_query("UPDATE sts SET bt=1 WHERE ip='".$ip."'",$p_link);
    mysql_query("UPDATE sts SET vl='robot?' WHERE ip='".$ip."' AND nm='c'",$p_link);
}

preg_match('/:\/\/(?:www\.)?([0-9a-z]+\.[0-9a-z]+(?:\.[0-9a-z]+)?)/',$_GET['c'],$a);
$dm = $a[1];
$ip = $_SERVER['REMOTE_ADDR'];
$tm = time();
$tl = 60*60*24*7*4;
$bt = 0;
$in = "INSERT INTO sts SET dm='".$dm."',ip='".$ip."',tm=".$tm;
$e  = '/http(s)*:\/\/(www\.)?'.preg_replace('/\./','\.',$dm).'/i';
$ph = preg_replace($e,'',$_GET['c']);

if(preg_match("/qindex\.info/",$dm)) {
    if($_SESSION['s_cntry']=='no script') {
        $_SESSION['s_robot'] = 0;
        $a = file("http://ip-api.com/line/".$ip);
        $_SESSION['s_cntry'] = trim($a[1]);
        $bt = $_SESSION['s_robot'];
        $cy = $_SESSION['s_cntry'];
        if(!$_SESSION['s_cntry']) $_SESSION['s_cntry'] = 'unknown';
        mysql_query("UPDATE ipc SET bt= ".$bt.", cy='".$cy."' WHERE ip='".$ip."'",$p_link);
        mysql_query("UPDATE sts SET bt= ".$bt."  WHERE ip='".$ip."'",$p_link);
        mysql_query("UPDATE sts SET vl='".$cy."' WHERE ip='".$ip."' AND nm='c'",$p_link);
    }
} else {
    if($_SESSION['cy']) { // resume
        $q = "SELECT * FROM sts WHERE dm='".$dm."' AND ip='".$ip."' AND (nm='p' OR nm='l') ORDER BY tm DESC LIMIT 1";
        $r = mysql_query($q,$p_link);
        $a = mysql_fetch_array($r);
        if($a['vl']!=$ph) {
            mysql_query($in.",bt=".$a['bt'].",nm='p',vl='".$ph."'",$p_link);
            if(!$a['bt']) {
                //if(($tm-$a['tm'])<1) jst_php();
            }
        }
    } else {  // land
        $r = mysql_query("SELECT * FROM ipc WHERE ip='".$ip."'",$p_link);
        if($a=mysql_fetch_array($r)) {
            $bt = $a['bt'];
            $cy = trim($a['cy']);
            mysql_query("UPDATE ipc SET ct=ct+1 WHERE ip='".$ip."'",$p_link);
        } else {
            $e = '/(';
            $c = qtdr(2);
            for($i=1;$i<count($c);$i++) {
                if($i<>1) $e .= '|';
                $e .= $c[$i];
            }
            $e .= ')/i';
            preg_match($e,$_SERVER["HTTP_USER_AGENT"],$a);
            if($a[1]) {
                $bt = 1;
                $cy = $a[1];
            } else {
                $a = file("http://ip-api.com/line/".$ip);
                $cy = trim($a[1]);
                mysql_query("DELETE FROM ipc WHERE tm<".($tm-$tl),$p_link);
                mysql_query("DELETE FROM sts WHERE tm<".($tm-$tl),$p_link);
            }
            mysql_query("INSERT INTO ipc SET ip='".$ip."',tm=".$tm.",bt=".$bt.",cy='".$cy."'",$p_link);
        }
        if(!$cy) $cy = 'unknown';
        $in .= ",bt=".$bt;
        mysql_query($in.",nm='c',vl='".$cy."'",$p_link);
        mysql_query($in.",nm='l',vl='".$ph."'",$p_link);
        $e = '/:\/\/(www\.)?'.preg_replace('/\./','\.',$dm).'/i';
        if(!preg_match($e,$_GET['r'])) {
            mysql_query($in.",nm='r',vl='".$_GET['r']."'",$p_link);
        }
        $_SESSION['bt'] = $bt;
        $_SESSION['cy'] = $cy;
    }
}
?>