/* ************************************************************************************************* */
/* Hacer FORBIDDEN si el usuario accede mediante AXIOS, que es un Crawler usado para hacer web scrap */
/* ************************************************************************************************* */
if(strpos($_SERVER['HTTP_USER_AGENT'], "axios") === 0/* || ($_SERVER['REMOTE_ADDR'] == "143.255.105.3")*/){
header('HTTP/1.0 403 Forbidden', true, 403);
exit;
}
/* ************************************************************************************************** */
/* !Hacer FORBIDDEN si el usuario accede mediante AXIOS, que es un Crawler usado para hacer web scrap */
/* ************************************************************************************************** */
$ok_session = @session_start();
if(!$ok_session){
session_regenerate_id(true);
session_start();
}
$_SESSION['mysqls'] = array();
header('Content-Type: text/html; charset=utf-8');
if(!isset($_GET['nj'])){
function compress_page($buf){
$search = array('/\>[^\S ]+/s','/[^\S ]+\','<','\\1');
return preg_replace($search, $replace, $buf);
}
ob_start("compress_page");
}
define("MODULES","modules/");
require_once(MODULES."classes/mobile_detect/mobile_detect.php");
$detect = new Mobile_Detect();
$_SESSION['mobile'] = false;
if(
($detect->isMobile() && !$detect->isTablet() && (!isset($_SESSION['web_version']) || !$_SESSION['web_version'])) ||
($detect->isMobile() && $detect->isTablet() && isset($_SESSION['web_mobile']) && $_SESSION['web_mobile']) ||
(isset($_SESSION['force_mobile']) && $_SESSION['force_mobile'])
){
/*
Si es móvil, no es tablet, y no se fuerza la web version
O Si es móvil y tablet (si es tablet, se marca siempre que es móvil también), y se fuerza la web móvil
*/
$_SESSION['mobile'] = true;
}
if($_SESSION['mobile'])
define("SKIN","skins/mobile/");
else
define("SKIN","skins/public/");
require(MODULES."configuration/config.php");
require(MODULES."configuration/config_fns.php");
/*$memcache = new MemcacheHHG();*/
$lang = "es";
require(MODULES."configuration/config_lang.php");
$link = conecta();
define("SYS_STATUS",param_value ("status",1,0));
require(SKIN."config/config_var.php");
/* ********************************************************************** */
/* Hacer FORBIDDEN si el usuario hace más de 50 peticiones en 30 segundos */
/* ********************************************************************** */
if(!$ambit && !is_crawler($_SERVER['HTTP_USER_AGENT'])){
if(!isset($_SESSION[getIp()]) || ((time() - $_SESSION[getIp()]['time']) > 30)){
$_SESSION[getIp()] = array('count' => 0, 'time' => time()) ;
}else{
++$_SESSION[getIp()]['count'];
if($_SESSION[getIp()]['count'] > 50){
http_response_code(403);
exit;
}
}
}
/* *********************************************************************** */
/* !Hacer FORBIDDEN si el usuario hace más de 50 peticiones en 30 segundos */
/* *********************************************************************** */
/* ************************ */
/* Ban IP Banear IP Usuario */
/* ************************ */
$ipsToBan = ["23.132.132.17", "87.218.96.49"];
if(in_array(getIp(), $ipsToBan)){
header('HTTP/1.0 403 Forbidden', true, 403);
exit;
}
/* ************************* */
/* !Ban IP Banear IP Usuario */
/* ************************* */
// Hide errors except for admins
if(ENV == "test" || ($userClass->iamlogged() && $userClass->iHaveLevel(USER_LEVEL_ADMIN)))
ini_set("display_errors", 1);
else
ini_set("display_errors", 0);
// A veces si la sesión expira pero seguimos en HHG, al hacer click a otra sección necesitamos volver a cargar la sesión de los anuncios
require_once(SKIN.'ajax/section/includes/banpub-dfp.php');
define("CLOSE_LOGIN",param_value ("close_login",1,0,true));
$mobile_version_bar = (($detect->isMobile() && !$detect->isTablet() && $_SESSION['web_version']) || $detect->isTablet()) ? true : false;
/* Logout user */
if(CLOSE_LOGIN)
$userClass->logoutHHG();
include(SKIN.$fileInc);
desconecta();
if($memcache && $memcache->memcache_connect())
$memcache->memcache_close();
if(!isset($_GET['nj']))
ob_end_flush();
/*if($userClass->getUserLogged() == 2 && !$ambit){
echo "
";
echo "
";
echo "
";
echo "
";
echo "