"; $is_robot = 1; } } //Here we include the anti-spam system to fight AI-bots since Sep 5, 2025 14:31... it is the same system we have on VSM... if (!$is_robot and !$is_human) { include_once $basedir.'/anti-spam/search_spam_check.php'; } #Connessione MySQL secure include_once $basedir_extrasecure.'/MySQL.inc'; #Moved here and loaded _once on 12/4/20, 12:18 PM... include_once $basedir.'/includes/database_tabs/shared_lists.inc'; include_once $basedir.'/includes/database_tabs/shared_functions.inc'; //This below fixed on 6/22/21, 9:50 AM! if (strpos($HTTP_HOST, $basesite) === false) { #fa il redirect 301 al dominio corretto $destinowww = $SSLprot."://".$basesite.$REQUEST_URI; header("HTTP/1.1 301 Moved Permanently"); header("Location: $destinowww"); exit; } /* if ($_SERVER['REMOTE_ADDR'] == '70.181.126.8') { print "destinowww5: $destinowww"; exit; } */ #print "/* ecco: $pirloso - $cleanSCRIPT */"; #Controlla se la pagina richiesta deve essere caricata sicura oppure non sicura... if ($sslwork) { if ($_SERVER['SERVER_PORT'] != 443) { $destino = "https://$basesite".$REQUEST_URI; #print "eccolo: $destino"; header("HTTP/1.1 301 Moved Permanently"); header("Location: $destino"); exit; } } else { if (!eregFF("/pj/",$cleanSCRIPT) and !eregFF("/scripts/",$cleanSCRIPT) and !eregFF("/testhttps/",$cleanSCRIPT) and !eregFF("/extras/",$cleanSCRIPT) and !eregFF("/uploads/",$cleanSCRIPT) and !eregFF("/includes/",$cleanSCRIPT) and strpos($cleanSCRIPT, "/login/news_jobs.rss") === false) { #Mettere qui le sezioni che sono indifferentemente caricate in https or http if ((eregFF("/login/",$cleanSCRIPT) or eregFF("/signup",$cleanSCRIPT) or eregFF("/confirmemail.php",$cleanSCRIPT) or eregFF("/cf.php",$cleanSCRIPT) or eregFF("/confirm.php",$cleanSCRIPT) or eregFF("/admin",$cleanSCRIPT) or eregFF("/cart/checkout.php",$cleanSCRIPT)) and $_SERVER['SERVER_PORT'] != 443) { $destino = "https://$basesite".$REQUEST_URI; #print "eccolo: $destino"; header("HTTP/1.1 301 Moved Permanently"); header("Location: $destino"); exit; } else if ($_SERVER['SERVER_PORT'] == 443 and !eregFF("/login/",$cleanSCRIPT) and !eregFF("/confirmemail.php",$cleanSCRIPT) and !eregFF("/signup",$cleanSCRIPT) and !eregFF("/cf.php",$cleanSCRIPT) and !eregFF("/confirm.php",$cleanSCRIPT) and !eregFF("/admin",$cleanSCRIPT) and !eregFF("/cart/checkout.php",$cleanSCRIPT) and !eregFF("js$",$cleanSCRIPT) and !eregFF("js$",$cleanSCRIPT) and !eregFF("css$",$cleanSCRIPT) and !eregFF("show_it.php",$cleanSCRIPT) and !eregFF("/extra_scripts/hoteditor/",$cleanSCRIPT)) { $destino = "http://$basesite".$REQUEST_URI; header("HTTP/1.1 301 Moved Permanently"); header("Location: $destino"); exit; } } } #Legge site status from control_panel table $queryRT = "SELECT status, nowrite FROM control_panel"; $resultRT = mysql_queryFF($queryRT); $SITESTATUS = mysql_resultFF($resultRT,0, 'status'); $SITENOWRITE = mysql_resultFF($resultRT,0, 'nowrite'); if ($SITESTATUS == 2) { #Se site status e' OFF... #Controlla che non sia io (devo avere controlpassword cookie...) if (!$controlpassword and !eregFF("/admin/",$cleanSCRIPT)) { #include "/home/webadmin/".$basesite."/EXTRA_SECURE/siteoff.inc"; include $basedir_extrasecure."/siteoff.inc"; exit; } } /* ###################################################################### #Controlla subito se c'e'' cookie visibilita', altrimenti visualizza pagina "Under Construction" -- da togliere quando si mette in production! $paginedisplayed = array('/curriculum', '/home', '/free-sheet-music', '/musicians-list', '/music-links', '/fabriphpadmin'); foreach ($paginedisplayed as $single) { if (eregFF($single, $cleanSCRIPT)) { $displaypage = 1; break; } } #Controlal subito se c'e'' cookie visibilita', altrimenti visualizza pagina "Under Construction" -- da togliere quando si mette in production! if (!$visibilita and !eregFF("set_flag.php",$REQUEST_URI) and !$displaypage) { include $basedir_extrasecure."/underconstruction.inc"; exit; } ###################################################################### */ #Memorizza session ID $s_id = $PHPSESSID; include $basedir_extrasecure.'/de-crypt_functions.inc'; #Attiva sessioni $bots = array( // Major Search Engines "Googlebot", "bingbot", "DuckDuckBot", "DuckDuckGo", "YandexBot", "YandexMobileBot", "Baiduspider", "Sogou", "Applebot", "Exabot", // Social Media "Twitterbot", "facebot", "LinkedInBot", "PinterestBot", // Regional/Specialized Search "Yeti", // Naver "Qwantify", // Qwant "DotBot", // Moz // Other Important Crawlers "CCBot", // Common Crawl "uptimebot", // Uptime monitoring "Crawler", // Generic crawler detection // Still Active Specialized Bots "psbot", // Picsearch "Raven", // SEO tools "SpiderBot", "SiteTech-Rover", "WebCopy", "WebFetcher", "SemrushBot", "SiteAuditBot", "SplitSignalBot" );//Current list of active bots as of 2024 $current_agent = $HTTP_USER_AGENT; #$current_agent = "BackRub/*.*"; foreach ($bots as $singlebot) { if (eregiFF($singlebot,$current_agent) and !(eregFF("Alexa Toolbar",$current_agent))) { #print "eccolo: $singlebot
"; $is_robot = 1; } } if (!$is_robot) { #Controlla che la pagina richiesta non sia un RSS oppure un contenuto dinamico per gli affiliati... if (!(eregFF("images/banners/dyn",$REQUEST_URI)) and !(eregFF("news.rdf",$REQUEST_URI)) and !(eregFF("news.rss",$REQUEST_URI))) { $expireTime = 60*60*24*100; // 100 days #Blocco di controllo per evitare errore del tipo: # "The session id contains invalid characters, valid characters are only a-z..." # Trovato su PHP site on 19-10-07 #Questo serve per permettere $sid passing senza cookies! ini_set('session.use_trans_sid', '1'); $sn=session_name(); if(isset($_GET[$sn])) if(strlen($_GET[$sn])!=32) unset($_GET[$sn]); if(isset($_POST[$sn])) if(strlen($_POST[$sn])!=32) unset($_POST[$sn]); if(isset($_COOKIE[$sn])) if(strlen($_COOKIE[$sn])!=32) unset($_COOKIE[$sn]); if(isset($PHPSESSID)) if(strlen($PHPSESSID)!=32) unset($PHPSESSID); ##### Fine Blocco COntrollo session_id if(!$s_id) { session_set_cookie_params($expireTime); session_start(); $s_id = session_id(); setcookie("s_id",$s_id,time()+95040000,'/'); } } } if ($fov) {#If it is coming from GoogleAd (2-21-2013)... #Scrive s_id dentro pre_overture table per verifiche (quando necessario)... $queryTdeleted = "INSERT INTO pre_overture (fov,session_id,tempo) VALUES ('$fov', '$s_id',$globaltempo)"; $result_Tdeleted = mysql_queryFF($queryTdeleted); if (!$fromov) { $fov = $fov."AAAAA".time(); setcookie("fromov",$fov,time()+31536000,'/'); #Scadenza un anno dopo } $destino_rfsh = $REQUEST_URI; $destino_rfsh = ereg_replaceFF("\?fov\=.+\&","?",$destino_rfsh); $destino_rfsh = ereg_replaceFF("\?fov\=.+$","",$destino_rfsh); $destino_rfsh = ereg_replaceFF("\&fov\=.+\&","\&",$destino_rfsh); $destino_rfsh = ereg_replaceFF("\&fov\=.+$","",$destino_rfsh); //header("HTTP/1.1 301 Moved Permanently"); header("Location: $destino_rfsh"); exit; } /* ###Prende shared libraries... if (!$sharedfunctionsflag) { include $basedir.'/includes/database_tabs/shared_lists.inc'; include $basedir.'/includes/database_tabs/shared_functions.inc'; } elseif (!$sharedlistsflag) { include $basedir.'/includes/database_tabs/shared_lists.inc'; } */ //Here we check for possible spam bots to stop Apr 7, 2025 13:29... if (!$is_robot) { //We look into the spam_bots_list table and we find the IP address or addresses that have the clumn "tempo" less than 15 minutes ago... $querySPAMBOTS = "SELECT partial_ip FROM spam_bots_list WHERE 1"; $resultSPAMBOTS = mysql_queryFF($querySPAMBOTS); $nitemsSPAMBOTS = mysql_num_rowsFF($resultSPAMBOTS); #print "querySPAMBOTS: $querySPAMBOTS - $nitemsSPAMBOTS"; #exit; if ($nitemsSPAMBOTS) { while ($rowSPAMBOTS = mysql_fetch_arrayFF($resultSPAMBOTS)) { $partialIP = $rowSPAMBOTS["partial_ip"]; #print "check this partialIP: $partialIP
"; if (strpos($useripaddress, $partialIP) !== false) { #print "stop this: $partialIP
"; include $basedir_extrasecure."/siteoff.inc"; exit; } } } } #exit; ###Controllo login... include 'setup_login.inc'; #Verifica se c'e' superuser on if ($HTTP_GET_VARS["superpassword"]) { $superpassword = $HTTP_GET_VARS["superpassword"]; } #Questo e' per evitare che chiunguque possa accedere come superuser senza conoscere la password if ($superuser and $superpassword != $superuserpw) { $superuser = 0; } #E questo invece attiva super user se presente password elseif ($superpassword == $superuserpw) { #Se c'e' password (cookie o in GET) $superuser = 1; } #Se e' logged, allora memorizza variabili utili condivise... if ($logged) { include $basedir.'/includes/login/takeloginvariables.inc'; #Prende Member variables... } ####Questo e' per banner redirect vecchie pagine e controllo hidden pages prima del lancio... #Include temporary include... //include "/home/webadmin/musicianspage.com/html/temporaryfirstinclude.inc"; #Enable gzip compression if browser accept it (SEO 10-14-2010)... if (!eregFF("/scripts/", $_SERVER['SCRIPT_FILENAME']) and !eregFF("/mc/flash/", $_SERVER['SCRIPT_FILENAME']) and !eregFF("/uploads/", $_SERVER['SCRIPT_FILENAME'])) { enablehtmlgzip(); } } ?> /* Procedure advanced search form (2-4-08) */ function changesearchinADVF(event) { var modulo = document.getElementById('advformMAIN'); modulo.action = '/search/'; document.advformMAIN.submit(); } function changecategoryADVF(event) { var choice = document.getElementById('categoryADVF').value; //alert(choice); if (choice == 2) { //Ensemble //Nasconde Skill/Title, lastname, firstname... var allskillfields = getElementsByClassName(document, "tr", "skillfield"); for (var i = 0; i < allskillfields.length; i++) { var connector = allskillfields[i]; connector.style.display = "none"; } var allskillfields = getElementsByClassName(document, "tr", "firstnamefield"); for (var i = 0; i < allskillfields.length; i++) { var connector = allskillfields[i]; connector.style.display = "none"; } var allskillfields = getElementsByClassName(document, "tr", "lastnamefield"); for (var i = 0; i < allskillfields.length; i++) { var connector = allskillfields[i]; connector.style.display = "none"; } var allskillfields = getElementsByClassName(document, "tr", "genderfield"); for (var i = 0; i < allskillfields.length; i++) { var connector = allskillfields[i]; connector.style.display = "none"; } //Visualizza ensemble fields... var allskillfields1 = getElementsByClassName(document, "tr", "ensemblenamefield"); for (var i = 0; i < allskillfields1.length; i++) { var connector = allskillfields1[i]; connector.style.display = ""; } var allskillfields2 = getElementsByClassName(document, "tr", "ensembletypefield"); for (var i = 0; i < allskillfields2.length; i++) { var connector = allskillfields2[i]; connector.style.display = ""; } var allskillfields3 = getElementsByClassName(document, "tr", "ensemblespecifyfield"); for (var i = 0; i < allskillfields3.length; i++) { var connector = allskillfields3[i]; connector.style.display = ""; } //Nasconde Teaching fields... var allskillfields4 = getElementsByClassName(document, "tr", "teachingfieldfield"); for (var i = 0; i < allskillfields4.length; i++) { var connector = allskillfields4[i]; connector.style.display = "none"; } var allskillfields5 = getElementsByClassName(document, "tr", "otherteachingfieldfield"); for (var i = 0; i < allskillfields5.length; i++) { var connector = allskillfields5[i]; connector.style.display = "none"; } } else if (choice == 3) { //Teacher //Nasconde Skill/Title... var allskillfields = getElementsByClassName(document, "tr", "skillfield"); for (var i = 0; i < allskillfields.length; i++) { var connector = allskillfields[i]; connector.style.display = "none"; } var allskillfields = getElementsByClassName(document, "tr", "firstnamefield"); for (var i = 0; i < allskillfields.length; i++) { var connector = allskillfields[i]; connector.style.display = ""; } var allskillfields = getElementsByClassName(document, "tr", "lastnamefield"); for (var i = 0; i < allskillfields.length; i++) { var connector = allskillfields[i]; connector.style.display = ""; } var allskillfields = getElementsByClassName(document, "tr", "genderfield"); for (var i = 0; i < allskillfields.length; i++) { var connector = allskillfields[i]; connector.style.display = ""; } //Nasconde ensemble fields... var allskillfields1 = getElementsByClassName(document, "tr", "ensemblenamefield"); for (var i = 0; i < allskillfields1.length; i++) { var connector = allskillfields1[i]; connector.style.display = "none"; } var allskillfields2 = getElementsByClassName(document, "tr", "ensembletypefield"); for (var i = 0; i < allskillfields2.length; i++) { var connector = allskillfields2[i]; connector.style.display = "none"; } var allskillfields3 = getElementsByClassName(document, "tr", "ensemblespecifyfield"); for (var i = 0; i < allskillfields3.length; i++) { var connector = allskillfields3[i]; connector.style.display = "none"; } //Visualizza Teaching fields... var allskillfields4 = getElementsByClassName(document, "tr", "teachingfieldfield"); for (var i = 0; i < allskillfields4.length; i++) { var connector = allskillfields4[i]; connector.style.display = ""; } var allskillfields5 = getElementsByClassName(document, "tr", "otherteachingfieldfield"); for (var i = 0; i < allskillfields5.length; i++) { var connector = allskillfields5[i]; connector.style.display = ""; } } else { //Default, single musician showdefaults(event); } } function showdefaults(event) { //Visualizza Skill/Title... var allskillfields = getElementsByClassName(document, "tr", "skillfield"); for (var i = 0; i < allskillfields.length; i++) { var connector = allskillfields[i]; connector.style.display = ""; } var allskillfields = getElementsByClassName(document, "tr", "firstnamefield"); for (var i = 0; i < allskillfields.length; i++) { var connector = allskillfields[i]; connector.style.display = ""; } var allskillfields = getElementsByClassName(document, "tr", "lastnamefield"); for (var i = 0; i < allskillfields.length; i++) { var connector = allskillfields[i]; connector.style.display = ""; } var allskillfields = getElementsByClassName(document, "tr", "genderfield"); for (var i = 0; i < allskillfields.length; i++) { var connector = allskillfields[i]; connector.style.display = ""; } //Nasconde ensemble fields... var allskillfields1 = getElementsByClassName(document, "tr", "ensemblenamefield"); for (var i = 0; i < allskillfields1.length; i++) { var connector = allskillfields1[i]; connector.style.display = "none"; } var allskillfields2 = getElementsByClassName(document, "tr", "ensembletypefield"); for (var i = 0; i < allskillfields2.length; i++) { var connector = allskillfields2[i]; connector.style.display = "none"; } var allskillfields3 = getElementsByClassName(document, "tr", "ensemblespecifyfield"); for (var i = 0; i < allskillfields3.length; i++) { var connector = allskillfields3[i]; connector.style.display = "none"; } //Nasconde Teaching fields... var allskillfields4 = getElementsByClassName(document, "tr", "teachingfieldfield"); for (var i = 0; i < allskillfields4.length; i++) { var connector = allskillfields4[i]; connector.style.display = "none"; } var allskillfields5 = getElementsByClassName(document, "tr", "otherteachingfieldfield"); for (var i = 0; i < allskillfields5.length; i++) { var connector = allskillfields5[i]; connector.style.display = "none"; } } function getElementsByClassName(oElm, strTagName, strClassName){ var arrElements = (strTagName == "tr" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName); var arrReturnElements = new Array(); strClassName = strClassName.replace(/\-/g, "\\-"); var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)"); var oElement; for(var i=0; i