indi/{file_log} $request_uri = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; $_dev_email = "errori@tnx.it";//richiamata sempre con $GLOBALS['_dev_email'] //$_dev_email = "damiano@tnx.it"; $indi_error_messages = array(); //variabile per gestione errori if(!$CONFIGURAZIONE) $CONFIGURAZIONE = "indi.inc.php"; //file di configurazione di indi if(!is_array($CONF)) $CONF = array(); //(perche' alcuni siti lo impostando dall' index.php) $DB_REMOTE = array(); //root remoto solo da locale $DATI = array(); $LANG = array(); $MENU = array(); $ACTIONS = array(); //non sono permesse action prima $TEMPLATE = array(); $WEBSERVICES = array(); //variabili e funzioni accessibili da webservice $MCHARSET = array(); $LANG_LOCALE = array(); $LANG_TO_COUNTRY = array(); $LANG3TO2 = array(); $LANG_JETBOX2 = array(); $LANG_JETBOX3 = array(); $LOCAL_IP_MAIL = array(); $BASEURL = array(); //lista delle basi $indi_versioning_array = array(); //lista file inclusi soggetto a cambiamento ! //altri array $CONF["agg_array"] = array();//carlo: lo uso in genera_link_agg perchè $DATI['agg'] non encoda gli & nel valore dei parametri quindi è inutilizzabile a mio avviso $CONF["link_sito"] = array(); //############################### CORE ############################### require(INDI_PATH . "debug.inc.php"); require(INDI_PATH . "jobs.inc.php"); require(INDI_PATH . "admin.inc.php"); require(INDI_PATH . "functions.inc.php"); require(INDI_PATH . "functions_elementi.php"); require(INDI_PATH . "db.inc.php"); if ($GLOBALS["indi_stats_db"]) { $ret = db_qa("show processlist"); foreach ($ret as $k=>$v) { if ($v["Command"] != "Sleep" && $v["Time"] > 0) { $mysqlproclist .= $v["db"] . "|" . $v["Time"] . "|" . $v["State"] . "|" . $v["Command"] . "|" . $v["Info"] . "\n"; } } if ($mysqlproclist) $mysqlproclist . "\n---\n"; } if($GLOBALS['tnxBoot'] != "admin_tnx"){ //############################### 404 iniziale ############################### //baseurl $_404_query = indi_baseurl_query(); //tolgo eventuali parametri $posizione_parametri = strpos($request_uri, "?"); if($posizione_parametri !== false) $senza_parametri = substr($request_uri, 0, $posizione_parametri); else $senza_parametri = $request_uri; //prendo il nome del file richiesto $file_richiesto = substr($senza_parametri, strrpos($senza_parametri, "/")+1); $estensione = ''; $is_404 = false; $is404ifNotTabellaSitemap = false; // die('aaa'); // if($_SERVER['HTTP_USER_AGENT'] == "RICONTROLLA_404" || $_SERVER['HTTP_USER_AGENT'] == "DAMMI_LA_HOMEPAGE") $is_404 = false; // else if($file_richiesto === '') $is_404 = false; else if($file_richiesto == "favicon.ico") $is_404 = true; else if($file_richiesto == "robots.txt"){ $is404ifNotTabellaSitemap = true; $is_404 = false; } else if($_GET['skip404']) $is_404 = false;//tramite htacess ho forzato che l'url di un file vero venga processato ad es rewriterule ^.*jb/webfiles/(.*) index.php?skip404=1&p=getfile&file=$1 [L] // else if(strpos($request_uri, "areavolontari.intercultura.it/jb/webfiles") !== false) $is_404 = false;//c'è un htaccess per la gestione dei permessi // else if(strpos($request_uri, "indi.tnx.it/intercultura_areavolontari/jb/webfiles/") !== false) $is_404 = false;//c'è un htaccess per la gestione dei permessi else if(strpos($request_uri, "_pics/newsletter/") !== false) $is_404 = false;//c'è un htaccess per la gestione dei permessi // else if(stripos($request_uri, "intercultura.it/RSS/") !== false) $is_404 = false;//mettono loro manualmente dei link dentro, ce li hanno messi relativi e qualcuno si è iscritto e controlla gli rss tramite un link http://intercultura.it/Rss-volontari/jb/webfiles/Carta%20etica%202011.pdf oppure http://www.intercultura.it/RSS/jb/webfiles/Invito%20Brescia%20-%2010%20maggio%202012.pdf INSERIRE IL 404 VORREBBE DIRE INTERROMPERE IL SERVIZIO RSS PER QUESTI | EDIT: è sempre il solito stronzo che fa i controlli a raffica: cat /var/log/httpd/combined_log* | grep "/Rss-volontari/jb/webfiles/Carta%20etica%202011.pdf" >>>>>>>>>>> www.intercultura.it 213.243.221.30 - - [10/May/2012:08:44:14 +0200] "GET /Rss-volontari/jb/webfiles/Carta%20etica%202011.pdf HTTP/1.1" 200 17005 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:12.0) Gecko/20100101 Firefox/12.0" else if(($posizione_punto = strrpos($file_richiesto, ".")) !== false){ //è stato richiesto un file con estensione $estensione = strtolower(substr($file_richiesto, $posizione_punto+1)); //sicuramente non sto richidendo un documento html (e posso fare un controllo automatico sul contenuto "strpos(file_get_contents($f), "vedi ".__FILE__.":".__LINE__; die(); } } //performance //indi_debug_performance("global"); //performance indi_time(); indi_memory(); //funzioni baseurl $indi_baseurl_init = 0; //variabile globale del modulo $indi_base_current_key = NULL; //base corrente (chiave) //versioning $indi_versioning_array = array(); //array con i file che contribuiscono a gestire la versione di un sito $indi_file_size = NULL; //deprecato, usato per gestire variabili di cache $indi_file_path = NULL; //varie $CONF['dove_sono'] = $indi_location = indi_location(); set_time_limit($CONF["dove_sono"]=='loc'?60:600); //5 minuti //rewrite $_SERVER['REMOTE_ADDR'] //sistemo ip client nel caso di CDN o PROXY // $orig_remote_address = $_SERVER['REMOTE_ADDR']; // if (!empty($_SERVER['HTTP_X_REMOTE_IP'])) { // $_SERVER['REMOTE_ADDR']=$_SERVER['HTTP_X_REMOTE_IP']; // proxy generico // } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']) and strpos($_SERVER['HTTP_X_FORWARDED_FOR'],".") !== FALSE) { // if(strstr($_SERVER['HTTP_X_FORWARDED_FOR'],",")) $_SERVER['REMOTE_ADDR'] = trim(substr($_SERVER['HTTP_X_FORWARDED_FOR'],0,strpos($_SERVER['HTTP_X_FORWARDED_FOR'],","))); // else $_SERVER['REMOTE_ADDR'] = trim($_SERVER['HTTP_X_FORWARDED_FOR']); // } else { // } // per sicurezza // if(strpos($_SERVER['HTTP_X_FORWARDED_FOR'],".") === FALSE) $_SERVER['REMOTE_ADDR'] = $orig_remote_address; ?>