示例#1
0
        @set_error_handler("handleError");
    }
    $browserId = getId(USER_ID_LENGTH);
    define("SESSION", getSessionId());
    if (empty($CONFIG["gl_om_pop_up"]) && $CONFIG["gl_om_mode"] == 1) {
        initData(array("INTERNAL", "GROUPS", "FILTERS"));
        $groupbuilder = new GroupBuilder($INTERNAL, $GROUPS, $CONFIG);
        $groupbuilder->Generate();
        if (!$groupbuilder->GroupAvailable) {
            exit("<html><script language=\"JavaScript\">if(typeof(window.opener != null) != 'undefined')window.opener.location = \"" . $CONFIG["gl_om_http"] . "\";window.close();</script></html>");
        }
    } else {
        initData(array("FILTERS"));
    }
    if (isset($_POST["company"]) && !empty($_POST["company"]) || isset($_POST["email"]) && !empty($_POST["email"]) || isset($_POST["name"]) && !empty($_POST["name"]) || isset($_POST["text"]) && !empty($_POST["text"])) {
        exit(createFloodFilter(getIP(), null));
    }
}
header("Content-Type: text/html; charset=utf-8");
if (!isset($_GET[GET_EXTERN_TEMPLATE])) {
    define("IS_FLOOD", isFlood(getIP(), null, true));
    define("IS_FILTERED", $FILTERS->Match(getIP(), formLanguages(!empty($_SERVER["HTTP_ACCEPT_LANGUAGE"]) ? $_SERVER["HTTP_ACCEPT_LANGUAGE"] : ""), SESSION, true));
    require LIVEZILLA_PATH . "_lib/trdp/mobde.php";
    $MobileDetect = new Mobile_Detect();
    $small = $MobileDetect->isMobile() && !$MobileDetect->isTablet();
    initData(array("INTERNAL"));
    $html = getFile(TEMPLATE_HTML_CHAT);
    $html = str_replace("<!--extern_script-->", getFile(TEMPLATE_SCRIPT_EXTERN) . getFile(TEMPLATE_SCRIPT_DATA) . getFile(TEMPLATE_SCRIPT_CHAT) . getFile(TEMPLATE_SCRIPT_FRAME), $html);
    $html = str_replace("<!--server_id-->", substr(md5($CONFIG["gl_lzid"]), 5, 5), $html);
    $html = str_replace("<!--connector_script-->", getFile(TEMPLATE_SCRIPT_CONNECTOR), $html);
    $html = str_replace("<!--group_script-->", getFile(TEMPLATE_SCRIPT_GROUPS), $html);
function isFlood($_ip, $_userId)
{
    global $CONFIG;
    if (empty($CONFIG["gl_atflt"])) {
        return false;
    }
    $sql = "SELECT * FROM `" . DB_PREFIX . DATABASE_VISITORS . "` AS `t1` INNER JOIN `" . DB_PREFIX . DATABASE_VISITOR_BROWSERS . "` AS t2 ON t1.id=t2.visitor_id WHERE t1.`ip`='" . DBManager::RealEscape($_ip) . "' AND `t2`.`created`>" . (time() - FLOOD_PROTECTION_TIME) . " AND `t1`.`visit_latest`=1";
    if ($result = queryDB(true, $sql)) {
    }
    if (DBManager::GetRowCount($result) >= FLOOD_PROTECTION_SESSIONS) {
        createFloodFilter($_ip, $_userId);
        return true;
    }
    return false;
}
function isFlood($_ip, $_userId, $_chat = false)
{
    global $VISITOR, $FILTERS, $CONFIG;
    if (empty($CONFIG["gl_atflt"])) {
        return false;
    }
    $sql = "SELECT * FROM `" . DB_PREFIX . DATABASE_VISITORS . "` AS `t1` INNER JOIN `" . DB_PREFIX . DATABASE_VISITOR_BROWSERS . "` AS t2 ON t1.id=t2.visitor_id WHERE t1.`ip`='" . @mysql_real_escape_string($_ip) . "' AND `t2`.`created`>" . (time() - FLOOD_PROTECTION_TIME) . " AND `t1`.`visit_latest`=1";
    if ($result = queryDB(true, $sql)) {
    }
    if (@mysql_num_rows($result) >= FLOOD_PROTECTION_SESSIONS) {
        createFloodFilter($_ip, $_userId);
        return true;
    }
    return false;
}
示例#4
0
function isFlood()
{
    global $VISITOR, $FILTERS, $CONFIG;
    if (isnull($CONFIG["gl_atflt"])) {
        return false;
    }
    if (!isset($VISITOR)) {
        getData(false, false, true, false);
    }
    $myurls = "";
    $count = 0;
    $files = getDirectory(PATH_DATA_EXTERNAL, ".");
    foreach ($VISITOR as $visitor) {
        if (isnull($visitor->ExternalStatic)) {
            $visitor->LoadStaticInformation();
            $visitor->ExternalStatic->Load();
            if ($visitor->ExternalStatic->IP == getIP()) {
                foreach ($visitor->Browsers as $browser) {
                    $browser->Load();
                    if (!is_array($browser->History)) {
                        continue;
                    }
                    foreach ($browser->History as $key => $value) {
                        $myurls .= "\r\n(" . $browser->FirstActive . ") " . $value[1] . "\r";
                    }
                    if ($browser->FirstActive > time() - FLOOD_PROTECTION_TIME) {
                        if (++$count >= FLOOD_PROTECTION_SESSIONS) {
                            createFloodFilter($visitor->ExternalStatic->IP, $visitor->UserId);
                            return true;
                        }
                    }
                }
            }
        }
    }
    return false;
}